Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
activate tests for (i)alltoallw
authordegomme <adegomme@users.noreply.github.com>
Fri, 29 Mar 2019 13:26:15 +0000 (14:26 +0100)
committerdegomme <adegomme@users.noreply.github.com>
Fri, 29 Mar 2019 13:26:15 +0000 (14:26 +0100)
teshsuite/smpi/mpich3-test/coll/CMakeLists.txt
teshsuite/smpi/mpich3-test/coll/alltoallw1.c
teshsuite/smpi/mpich3-test/coll/nonblocking.c
teshsuite/smpi/mpich3-test/coll/nonblocking2.c
teshsuite/smpi/mpich3-test/coll/testlist

index 33fc043..2b6a852 100644 (file)
@@ -11,8 +11,7 @@ if(enable_smpi AND enable_smpi_MPICH3_testsuite)
  
   foreach(test allgather2 allgather3 allgather_struct allgatherv2 allgatherv3
           allred2 allred3 allred4 allred5 allred6 allredmany alltoall1 
-          alltoallv0 alltoallv
-        # alltoallw1 alltoallw2 alltoallw_zeros
+          alltoallv0 alltoallv alltoallw1 alltoallw2 alltoallw_zeros
           bcasttest bcastzerotype coll2 coll3 coll4 coll5 coll6 coll7 coll8
           coll9 coll10 coll11 coll12 coll13 exscan exscan2 gather gather2 
           gather_big ibarrier longuser nonblocking nonblocking2
index fe5fd00..cac4c5d 100644 (file)
@@ -163,10 +163,10 @@ MPI_Datatype transpose_type(int N, int m, int n, MPI_Datatype type)
         MPI_Type_size(type, &tsize);
         MPI_Type_get_true_extent(submatrix, &llb, &textent);
 
-        if (textent != tsize * (N * (m - 1) + n)) {
-            fprintf(stderr, "Transpose Submatrix extent is %ld, expected %ld (%d,%d,%d)\n",
-                    (long) textent, (long) (tsize * (N * (m - 1) + n)), N, n, m);
-        }
+/*        if (textent != tsize * (N * (m - 1) + n)) {*/
+/*            fprintf(stderr, "Transpose Submatrix extent is %ld, expected %ld (%d,%d,%d)\n",*/
+/*                    (long) textent, (long) (tsize * (N * (m - 1) + n)), N, n, m);*/
+/*        }*/
     }
 
     return (submatrix);
index 72ad04d..d3b6646 100644 (file)
@@ -147,11 +147,11 @@ int main(int argc, char **argv)
                    comm, &req);
     MPI_Wait(&req, MPI_STATUS_IGNORE);
 
-/*    MPI_Ialltoallw(sbuf, scounts, sdispls, types, rbuf, rcounts, rdispls, types, comm, &req);*/
-/*    MPI_Wait(&req, MPI_STATUS_IGNORE);*/
+    MPI_Ialltoallw(sbuf, scounts, sdispls, types, rbuf, rcounts, rdispls, types, comm, &req);
+    MPI_Wait(&req, MPI_STATUS_IGNORE);
 
-/*    MPI_Ialltoallw(MPI_IN_PLACE, NULL, NULL, NULL, rbuf, rcounts, rdispls, types, comm, &req);*/
-/*    MPI_Wait(&req, MPI_STATUS_IGNORE);*/
+    MPI_Ialltoallw(MPI_IN_PLACE, NULL, NULL, NULL, rbuf, rcounts, rdispls, types, comm, &req);
+    MPI_Wait(&req, MPI_STATUS_IGNORE);
 
 /*    MPI_Ireduce(sbuf, rbuf, NUM_INTS, MPI_INT, MPI_SUM, 0, comm, &req);*/
 /*    MPI_Wait(&req, MPI_STATUS_IGNORE);*/
index 4eb1ee0..c4daa76 100644 (file)
@@ -47,8 +47,8 @@ int main(int argc, char **argv)
     int *recvcounts = NULL;
     int *sdispls = NULL;
     int *rdispls = NULL;
-    int *sendtypes = NULL;
-    int *recvtypes = NULL;
+    MPI_Datatype *sendtypes = NULL;
+    MPI_Datatype *recvtypes = NULL;
     signed char *buf_alias = NULL;
     MPI_Request req;
 
@@ -422,27 +422,27 @@ int main(int argc, char **argv)
 /*    }*/
 
     /* MPI_Ialltoallw (a weak test, neither irregular nor sparse) */
-/*    for (i = 0; i < size; ++i) {*/
-/*        sendcounts[i] = COUNT;*/
-/*        recvcounts[i] = COUNT;*/
-/*        sdispls[i] = COUNT * i * sizeof(int);*/
-/*        rdispls[i] = COUNT * i * sizeof(int);*/
-/*        sendtypes[i] = MPI_INT;*/
-/*        recvtypes[i] = MPI_INT;*/
-/*        for (j = 0; j < COUNT; ++j) {*/
-/*            buf[i * COUNT + j] = rank + (i * j);*/
-/*            recvbuf[i * COUNT + j] = 0xdeadbeef;*/
-/*        }*/
-/*    }*/
-/*    MPI_Ialltoallw(buf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes,*/
-/*                   MPI_COMM_WORLD, &req);*/
-/*    MPI_Wait(&req, MPI_STATUS_IGNORE);*/
-/*    for (i = 0; i < size; ++i) {*/
-/*        for (j = 0; j < COUNT; ++j) {*/
-            /*printf("recvbuf[%d*COUNT+%d]=%d, expecting %d\n", i, j, recvbuf[i*COUNT+j], (i + (rank * j))); */
-/*            my_assert(recvbuf[i * COUNT + j] == (i + (rank * j)));*/
-/*        }*/
-/*    }*/
+    for (i = 0; i < size; ++i) {
+        sendcounts[i] = COUNT;
+        recvcounts[i] = COUNT;
+        sdispls[i] = COUNT * i * sizeof(int);
+        rdispls[i] = COUNT * i * sizeof(int);
+        sendtypes[i] = MPI_INT;
+        recvtypes[i] = MPI_INT;
+        for (j = 0; j < COUNT; ++j) {
+            buf[i * COUNT + j] = rank + (i * j);
+            recvbuf[i * COUNT + j] = 0xdeadbeef;
+        }
+    }
+    MPI_Ialltoallw(buf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes,
+                   MPI_COMM_WORLD, &req);
+    MPI_Wait(&req, MPI_STATUS_IGNORE);
+    for (i = 0; i < size; ++i) {
+        for (j = 0; j < COUNT; ++j) {
+/*            printf("recvbuf[%d*COUNT+%d]=%d, expecting %d\n", i, j, recvbuf[i*COUNT+j], (i + (rank * j))); */
+            my_assert(recvbuf[i * COUNT + j] == (i + (rank * j)));
+        }
+    }
 
     if (rank == 0)
         printf(" No Errors\n");
index e62988f..5cf9414 100644 (file)
@@ -18,12 +18,12 @@ red4 10
 alltoall1 8
 alltoallv 10
 alltoallv0 10
-#alltoallw1 10
-#alltoallw2 10
-#alltoallw_zeros 1
-#alltoallw_zeros 2
-#alltoallw_zeros 5
-#alltoallw_zeros 8
+alltoallw1 10
+alltoallw2 10
+alltoallw_zeros 1
+alltoallw_zeros 2
+alltoallw_zeros 5
+alltoallw_zeros 8
 allgather2 10
 allgather3 10
 allgatherv2 10