X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/40616078da72e823931c1fb884949054699ec39d..2807fde4fd1f59c230d69a934634c5dfb77905f2:/src/smpi/colls/allreduce/allreduce-rab1.cpp diff --git a/src/smpi/colls/allreduce/allreduce-rab1.cpp b/src/smpi/colls/allreduce/allreduce-rab1.cpp index 96c71055af..31cd8d584d 100644 --- a/src/smpi/colls/allreduce/allreduce-rab1.cpp +++ b/src/smpi/colls/allreduce/allreduce-rab1.cpp @@ -1,14 +1,15 @@ -/* Copyright (c) 2013-2014. The SimGrid Team. +/* Copyright (c) 2013-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "../colls_private.h" +#include "../colls_private.hpp" //#include - +namespace simgrid{ +namespace smpi{ // NP pow of 2 for now -int smpi_coll_tuned_allreduce_rab1(void *sbuff, void *rbuff, +int Coll_allreduce_rab1::allreduce(void *sbuff, void *rbuff, int count, MPI_Datatype dtype, MPI_Op op, MPI_Comm comm) { @@ -62,13 +63,13 @@ int smpi_coll_tuned_allreduce_rab1(void *sbuff, void *rbuff, if(op!=MPI_OP_NULL) op->apply( tmp_buf, (char *) recv + recv_idx * extent, &recv_cnt, dtype); - // update send_idx for next iteration + // update send_idx for next iteration send_idx = recv_idx; mask >>= 1; } memcpy(tmp_buf, (char *) recv + recv_idx * extent, recv_cnt * extent); - mpi_coll_allgather_fun(tmp_buf, recv_cnt, dtype, recv, recv_cnt, dtype, comm); + Colls::allgather(tmp_buf, recv_cnt, dtype, recv, recv_cnt, dtype, comm); memcpy(rbuff, recv, count * extent); smpi_free_tmp_buffer(recv); @@ -96,15 +97,17 @@ int smpi_coll_tuned_allreduce_rab1(void *sbuff, void *rbuff, if(op!=MPI_OP_NULL) op->apply( tmp_buf, (char *) rbuff + recv_idx * extent, &recv_cnt, dtype); - // update send_idx for next iteration + // update send_idx for next iteration send_idx = recv_idx; mask >>= 1; } memcpy(tmp_buf, (char *) rbuff + recv_idx * extent, recv_cnt * extent); - mpi_coll_allgather_fun(tmp_buf, recv_cnt, dtype, rbuff, recv_cnt, dtype, comm); + Colls::allgather(tmp_buf, recv_cnt, dtype, rbuff, recv_cnt, dtype, comm); smpi_free_tmp_buffer(tmp_buf); } return MPI_SUCCESS; } +} +}