X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b512c05a92b5f7e29bd6cf767e1de5b40344aa61..ec1872016478e2a44665e1e40a8608bcb22f08a3:/teshsuite/smpi/mpich3-test/coll/nonblocking2.c diff --git a/teshsuite/smpi/mpich3-test/coll/nonblocking2.c b/teshsuite/smpi/mpich3-test/coll/nonblocking2.c index f266f5466d..187b2889ad 100644 --- a/teshsuite/smpi/mpich3-test/coll/nonblocking2.c +++ b/teshsuite/smpi/mpich3-test/coll/nonblocking2.c @@ -281,43 +281,43 @@ int main(int argc, char **argv) } /* MPI_Ireduce_scatter */ -/* for (i = 0; i < size; ++i) {*/ -/* recvcounts[i] = COUNT;*/ -/* for (j = 0; j < COUNT; ++j) {*/ -/* buf[i * COUNT + j] = rank + i;*/ -/* recvbuf[i * COUNT + j] = 0xdeadbeef;*/ -/* }*/ -/* }*/ -/* MPI_Ireduce_scatter(buf, recvbuf, recvcounts, MPI_INT, MPI_SUM, MPI_COMM_WORLD, &req);*/ -/* MPI_Wait(&req, MPI_STATUS_IGNORE);*/ -/* for (j = 0; j < COUNT; ++j) {*/ -/* my_assert(recvbuf[j] == (size * rank + ((size - 1) * size) / 2));*/ -/* }*/ -/* for (i = 1; i < size; ++i) {*/ -/* for (j = 0; j < COUNT; ++j) {*/ - /* check we didn't corrupt the rest of the recvbuf */ -/* my_assert(recvbuf[i * COUNT + j] == 0xdeadbeef);*/ -/* }*/ -/* }*/ + for (i = 0; i < size; ++i) { + recvcounts[i] = COUNT; + for (j = 0; j < COUNT; ++j) { + buf[i * COUNT + j] = rank + i; + recvbuf[i * COUNT + j] = 0xdeadbeef; + } + } + MPI_Ireduce_scatter(buf, recvbuf, recvcounts, MPI_INT, MPI_SUM, MPI_COMM_WORLD, &req); + MPI_Wait(&req, MPI_STATUS_IGNORE); + for (j = 0; j < COUNT; ++j) { + my_assert(recvbuf[j] == (size * rank + ((size - 1) * size) / 2)); + } + for (i = 1; i < size; ++i) { + for (j = 0; j < COUNT; ++j) { +/* check we didn't corrupt the rest of the recvbuf */ + my_assert(recvbuf[i * COUNT + j] == 0xdeadbeef); + } + } /* MPI_Ireduce_scatter_block */ -/* for (i = 0; i < size; ++i) {*/ -/* for (j = 0; j < COUNT; ++j) {*/ -/* buf[i * COUNT + j] = rank + i;*/ -/* recvbuf[i * COUNT + j] = 0xdeadbeef;*/ -/* }*/ -/* }*/ -/* MPI_Ireduce_scatter_block(buf, recvbuf, COUNT, MPI_INT, MPI_SUM, MPI_COMM_WORLD, &req);*/ -/* MPI_Wait(&req, MPI_STATUS_IGNORE);*/ -/* for (j = 0; j < COUNT; ++j) {*/ -/* my_assert(recvbuf[j] == (size * rank + ((size - 1) * size) / 2));*/ -/* }*/ -/* for (i = 1; i < size; ++i) {*/ -/* for (j = 0; j < COUNT; ++j) {*/ + for (i = 0; i < size; ++i) { + for (j = 0; j < COUNT; ++j) { + buf[i * COUNT + j] = rank + i; + recvbuf[i * COUNT + j] = 0xdeadbeef; + } + } + MPI_Ireduce_scatter_block(buf, recvbuf, COUNT, MPI_INT, MPI_SUM, MPI_COMM_WORLD, &req); + MPI_Wait(&req, MPI_STATUS_IGNORE); + for (j = 0; j < COUNT; ++j) { + my_assert(recvbuf[j] == (size * rank + ((size - 1) * size) / 2)); + } + for (i = 1; i < size; ++i) { + for (j = 0; j < COUNT; ++j) { /* check we didn't corrupt the rest of the recvbuf */ -/* my_assert(recvbuf[i * COUNT + j] == 0xdeadbeef);*/ -/* }*/ -/* }*/ + my_assert(recvbuf[i * COUNT + j] == 0xdeadbeef); + } + } /* MPI_Igatherv */ for (i = 0; i < size * COUNT; ++i) { @@ -396,29 +396,29 @@ int main(int argc, char **argv) } /* MPI_Iscan */ -/* for (i = 0; i < COUNT; ++i) {*/ -/* buf[i] = rank + i;*/ -/* recvbuf[i] = 0xdeadbeef;*/ -/* }*/ -/* MPI_Iscan(buf, recvbuf, COUNT, MPI_INT, MPI_SUM, MPI_COMM_WORLD, &req);*/ -/* MPI_Wait(&req, MPI_STATUS_IGNORE);*/ -/* for (i = 0; i < COUNT; ++i) {*/ -/* my_assert(recvbuf[i] == ((rank * (rank + 1) / 2) + (i * (rank + 1))));*/ -/* }*/ + for (i = 0; i < COUNT; ++i) { + buf[i] = rank + i; + recvbuf[i] = 0xdeadbeef; + } + MPI_Iscan(buf, recvbuf, COUNT, MPI_INT, MPI_SUM, MPI_COMM_WORLD, &req); + MPI_Wait(&req, MPI_STATUS_IGNORE); + for (i = 0; i < COUNT; ++i) { + my_assert(recvbuf[i] == ((rank * (rank + 1) / 2) + (i * (rank + 1)))); + } /* MPI_Iexscan */ -/* for (i = 0; i < COUNT; ++i) {*/ -/* buf[i] = rank + i;*/ -/* recvbuf[i] = 0xdeadbeef;*/ -/* }*/ -/* MPI_Iexscan(buf, recvbuf, COUNT, MPI_INT, MPI_SUM, MPI_COMM_WORLD, &req);*/ -/* MPI_Wait(&req, MPI_STATUS_IGNORE);*/ -/* for (i = 0; i < COUNT; ++i) {*/ -/* if (rank == 0)*/ -/* my_assert(recvbuf[i] == 0xdeadbeef);*/ -/* else*/ -/* my_assert(recvbuf[i] == ((rank * (rank + 1) / 2) + (i * (rank + 1)) - (rank + i)));*/ -/* }*/ + for (i = 0; i < COUNT; ++i) { + buf[i] = rank + i; + recvbuf[i] = 0xdeadbeef; + } + MPI_Iexscan(buf, recvbuf, COUNT, MPI_INT, MPI_SUM, MPI_COMM_WORLD, &req); + MPI_Wait(&req, MPI_STATUS_IGNORE); + for (i = 0; i < COUNT; ++i) { + if (rank == 0) + my_assert(recvbuf[i] == 0xdeadbeef); + else + my_assert(recvbuf[i] == ((rank * (rank + 1) / 2) + (i * (rank + 1)) - (rank + i))); + } /* MPI_Ialltoallw (a weak test, neither irregular nor sparse) */ for (i = 0; i < size; ++i) {