X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/756302d2bdd3f22465e90d820fa526bbcc08a9fe..c8015b3889c5f9164a080b3824a0d188ff528bc2:/src/smpi/colls/allgather/allgather-NTSLR-NB.cpp diff --git a/src/smpi/colls/allgather/allgather-NTSLR-NB.cpp b/src/smpi/colls/allgather/allgather-NTSLR-NB.cpp index ae9d1951c3..1745ced721 100644 --- a/src/smpi/colls/allgather/allgather-NTSLR-NB.cpp +++ b/src/smpi/colls/allgather/allgather-NTSLR-NB.cpp @@ -25,8 +25,6 @@ allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype, size = comm->size(); rextent = rtype->get_extent(); sextent = stype->get_extent(); - auto* rrequest_array = new MPI_Request[size]; - auto* srequest_array = new MPI_Request[size]; // irregular case use default MPI functions if (scount * sextent != rcount * rextent) { @@ -49,6 +47,9 @@ allgather__NTSLR_NB(const void *sbuf, int scount, MPI_Datatype stype, //start sending logical ring message int increment = scount * sextent; + auto* rrequest_array = new MPI_Request[size]; + auto* srequest_array = new MPI_Request[size]; + //post all irecv first for (i = 0; i < size - 1; i++) { recv_offset = ((rank - i - 1 + size) % size) * increment;