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/e6c7b7bf1f6a5130990643f8bbd6075173... commit e6c7b7bf1f6a5130990643f8bbd607517366ab4b Author: Min Si <[email protected]> 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 <[email protected]> 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