[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2-95-ge6c7b7b

Service Account noreply at mpich.org
Mon Jan 18 21:11:26 CST 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  e6c7b7bf1f6a5130990643f8bbd607517366ab4b (commit)
      from  9381f5011f73a3ff8961fa50bad34f15b9ba915b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/e6c7b7bf1f6a5130990643f8bbd607517366ab4b

commit e6c7b7bf1f6a5130990643f8bbd607517366ab4b
Author: Min Si <msi at il.is.s.u-tokyo.ac.jp>
Date:   Sun Nov 8 17:34:56 2015 -0600

    Added a test to detect mxm failure and mark xfail.
    
    This test reproduces the failure happening in graph500 benchmark
    (graph_mpi_simple), processes hang when number of processes is 128
    or larger.
    
    Refs #2312
    
    Signed-off-by: Lena Oden <loden at anl.gov>

diff --git a/test/mpi/pt2pt/Makefile.am b/test/mpi/pt2pt/Makefile.am
index d31d31c..3ff3c3b 100644
--- a/test/mpi/pt2pt/Makefile.am
+++ b/test/mpi/pt2pt/Makefile.am
@@ -53,5 +53,6 @@ noinst_PROGRAMS =  \
     sendall        \
     large_message  \
     mprobe         \
-    big_count_status
+    big_count_status	\
+    many_isend
 
diff --git a/test/mpi/pt2pt/many_isend.c b/test/mpi/pt2pt/many_isend.c
new file mode 100644
index 0000000..5f6ec1e
--- /dev/null
+++ b/test/mpi/pt2pt/many_isend.c
@@ -0,0 +1,59 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2015 by Argonne National Laboratory.
+ *     See COPYRIGHT in top-level directory.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <mpi.h>
+
+#define ITER 5
+#define BUF_COUNT 4096
+
+int rank, nprocs;
+char recvbuf[BUF_COUNT], sendbuf[BUF_COUNT];
+
+int main(int argc, char *argv[])
+{
+    int x, i;
+    MPI_Status *sendstats = NULL;
+    MPI_Request *sendreqs = NULL;
+
+    MPI_Init(&argc, &argv);
+
+    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+    MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
+
+    sendreqs = (MPI_Request *) malloc(nprocs * sizeof(MPI_Request));
+    sendstats = (MPI_Status *) malloc(nprocs * sizeof(MPI_Status));
+
+    for (x = 0; x < ITER; x++) {
+        MPI_Barrier(MPI_COMM_WORLD);
+
+        /* all to all send */
+        for (i = 0; i < nprocs; i++) {
+            MPI_Isend(sendbuf, BUF_COUNT, MPI_CHAR, i, 0, MPI_COMM_WORLD, &sendreqs[i]);
+        }
+
+        /* receive one by one */
+        for (i = 0; i < nprocs; i++) {
+            MPI_Recv(recvbuf, BUF_COUNT, MPI_CHAR, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD,
+                     MPI_STATUS_IGNORE);
+        }
+
+        /* ensure all send request completed */
+        MPI_Waitall(nprocs, sendreqs, sendstats);
+    }
+
+    MPI_Barrier(MPI_COMM_WORLD);
+    if (rank == 0)
+        printf(" No Errors\n");
+
+    free(sendreqs);
+    free(sendstats);
+
+    MPI_Finalize();
+
+    return 0;
+}
diff --git a/test/mpi/pt2pt/testlist b/test/mpi/pt2pt/testlist
index aa45f32..7810c64 100644
--- a/test/mpi/pt2pt/testlist
+++ b/test/mpi/pt2pt/testlist
@@ -42,3 +42,4 @@ waitany-null 1
 large_message 3
 mprobe 2 mpiversion=3.0
 big_count_status 1 mpiversion=3.0
+many_isend 128 xfail=ticket2312

-----------------------------------------------------------------------

Summary of changes:
 test/mpi/pt2pt/Makefile.am  |    3 +-
 test/mpi/pt2pt/many_isend.c |   59 +++++++++++++++++++++++++++++++++++++++++++
 test/mpi/pt2pt/testlist     |    1 +
 3 files changed, 62 insertions(+), 1 deletions(-)
 create mode 100644 test/mpi/pt2pt/many_isend.c


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list