X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8e43c615b2475d0174be55f95f930ca30988279e..0bb767878b9cec002756d922fc6c68ba9f606f6f:/src/smpi/colls/allreduce-lr.cpp diff --git a/src/smpi/colls/allreduce-lr.cpp b/src/smpi/colls/allreduce-lr.cpp index 61ef576de1..3148836c7f 100644 --- a/src/smpi/colls/allreduce-lr.cpp +++ b/src/smpi/colls/allreduce-lr.cpp @@ -67,7 +67,7 @@ smpi_coll_tuned_allreduce_lr(void *sbuf, void *rbuf, int rcount, // copy partial data send_offset = ((rank - 1 + size) % size) * count * extent; recv_offset = ((rank - 1 + size) % size) * count * extent; - smpi_mpi_sendrecv((char *) sbuf + send_offset, count, dtype, rank, tag - 1, + Request::sendrecv((char *) sbuf + send_offset, count, dtype, rank, tag - 1, (char *) rbuf + recv_offset, count, dtype, rank, tag - 1, comm, &status); @@ -76,12 +76,12 @@ smpi_coll_tuned_allreduce_lr(void *sbuf, void *rbuf, int rcount, send_offset = ((rank - 1 - i + 2 * size) % size) * count * extent; recv_offset = ((rank - 2 - i + 2 * size) % size) * count * extent; // recv_offset = ((rank-i+2*size)%size)*count*extent; - smpi_mpi_sendrecv((char *) rbuf + send_offset, count, dtype, ((rank + 1) % size), + Request::sendrecv((char *) rbuf + send_offset, count, dtype, ((rank + 1) % size), tag + i, (char *) rbuf + recv_offset, count, dtype, ((rank + size - 1) % size), tag + i, comm, &status); // compute result to rbuf+recv_offset - smpi_op_apply(op, (char *) sbuf + recv_offset, (char *) rbuf + recv_offset, + if(op!=MPI_OP_NULL) op->apply( (char *) sbuf + recv_offset, (char *) rbuf + recv_offset, &count, &dtype); } @@ -89,7 +89,7 @@ smpi_coll_tuned_allreduce_lr(void *sbuf, void *rbuf, int rcount, for (i = 0; i < (size - 1); i++) { send_offset = ((rank - i + 2 * size) % size) * count * extent; recv_offset = ((rank - 1 - i + 2 * size) % size) * count * extent; - smpi_mpi_sendrecv((char *) rbuf + send_offset, count, dtype, ((rank + 1) % size), + Request::sendrecv((char *) rbuf + send_offset, count, dtype, ((rank + 1) % size), tag + i, (char *) rbuf + recv_offset, count, dtype, ((rank + size - 1) % size), tag + i, comm, &status); }