X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/40616078da72e823931c1fb884949054699ec39d..5f1dc33c9f76ee99973ba93f034f031451398ebe:/src/smpi/colls/allgather/allgather-bruck.cpp diff --git a/src/smpi/colls/allgather/allgather-bruck.cpp b/src/smpi/colls/allgather/allgather-bruck.cpp index 68edee294d..f9b53fe4cb 100644 --- a/src/smpi/colls/allgather/allgather-bruck.cpp +++ b/src/smpi/colls/allgather/allgather-bruck.cpp @@ -1,4 +1,4 @@ -/* 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 @@ -65,9 +65,15 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * algorithm. * Auther: MPICH * Comment: Original bruck algorithm from MPICH is slightly modified by - * Ahmad Faraj. + * Ahmad Faraj. ****************************************************************************/ -int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count, + +namespace simgrid{ +namespace smpi{ + + + +int Coll_allgather_bruck::allgather(void *send_buff, int send_count, MPI_Datatype send_type, void *recv_buff, int recv_count, MPI_Datatype recv_type, MPI_Comm comm) @@ -86,7 +92,7 @@ int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count, char *send_ptr = (char *) send_buff; char *recv_ptr = (char *) recv_buff; - // get size of the communicator, followed by rank + // get size of the communicator, followed by rank num_procs = comm->size(); rank = comm->rank(); @@ -98,8 +104,7 @@ int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count, tmp_buff = (char *) smpi_get_tmp_sendbuffer(num_procs * recv_count * recv_extent); // perform a local copy - Datatype::copy(send_ptr, send_count, send_type, - tmp_buff, recv_count, recv_type); + Datatype::copy(send_ptr, send_count, send_type, tmp_buff, recv_count, recv_type); while (pof2 <= (num_procs / 2)) { src = (rank + pof2) % num_procs; dst = (rank - pof2 + num_procs) % num_procs; @@ -133,3 +138,7 @@ int smpi_coll_tuned_allgather_bruck(void *send_buff, int send_count, smpi_free_tmp_buffer(tmp_buff); return MPI_SUCCESS; } + + +} +}