[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2b2-10-geb69611
Service Account
noreply at mpich.org
Fri Apr 24 16:35:37 CDT 2015
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 eb69611ecdb0cd2f65dd4076a50c13d3fbc4531c (commit)
via caa70a87a2fc04cf113761d2eb2e0c60d86c6e25 (commit)
from 263d5b543a2db5ea422cc2750836bc37107c3843 (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/eb69611ecdb0cd2f65dd4076a50c13d3fbc4531c
commit eb69611ecdb0cd2f65dd4076a50c13d3fbc4531c
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date: Fri Apr 24 13:45:30 2015 -0500
bug-fix: error macro for atomic datatype checking
The atomic datatype check macro is meant to use the datatype itself
to create an error string. This removes the unused "name" argument.
Fixes #1906
Signed-off-by: Pavan Balaji <balaji at anl.gov>
diff --git a/src/include/mpierrs.h b/src/include/mpierrs.h
index 5a5478f..cf7ed3c 100644
--- a/src/include/mpierrs.h
+++ b/src/include/mpierrs.h
@@ -248,7 +248,7 @@ cvars:
} \
}
-#define MPIR_ERRTEST_TYPE_RMA_ATOMIC(datatype_, name_, err_) \
+#define MPIR_ERRTEST_TYPE_RMA_ATOMIC(datatype_, err_) \
do { \
if (!MPIR_Type_is_rma_atomic(datatype_)) { \
err_ = MPIR_Err_create_code(MPI_SUCCESS, \
@@ -257,7 +257,7 @@ cvars:
MPI_ERR_TYPE, \
"**rmatypenotatomic", \
"**rmatypenotatomic %D", \
- name_); \
+ datatype); \
goto fn_fail; \
} \
} while (0)
diff --git a/src/mpi/rma/compare_and_swap.c b/src/mpi/rma/compare_and_swap.c
index ecd4921..3dbc92f 100644
--- a/src/mpi/rma/compare_and_swap.c
+++ b/src/mpi/rma/compare_and_swap.c
@@ -119,7 +119,7 @@ int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr,
/* Check if datatype is a C integer, Fortran Integer,
logical, or byte, per the classes given on page 165. */
- MPIR_ERRTEST_TYPE_RMA_ATOMIC(datatype, "datatype", mpi_errno);
+ MPIR_ERRTEST_TYPE_RMA_ATOMIC(datatype, mpi_errno);
if (win_ptr->create_flavor != MPI_WIN_FLAVOR_DYNAMIC)
MPIR_ERRTEST_DISP(target_disp, mpi_errno);
diff --git a/src/mpid/pamid/src/onesided/mpid_win_compare_and_swap.c b/src/mpid/pamid/src/onesided/mpid_win_compare_and_swap.c
index d31b4be..3f1bac9 100644
--- a/src/mpid/pamid/src/onesided/mpid_win_compare_and_swap.c
+++ b/src/mpid/pamid/src/onesided/mpid_win_compare_and_swap.c
@@ -85,7 +85,7 @@ int MPID_Compare_and_swap(const void *origin_addr, const void *compare_addr,
}
/* Check if datatype is a C integer, Fortran Integer,
logical, or byte, per the classes given on page 165. */
- MPIR_ERRTEST_TYPE_RMA_ATOMIC(datatype, "datatype", mpi_errno);
+ MPIR_ERRTEST_TYPE_RMA_ATOMIC(datatype, mpi_errno);
req = (MPIDI_Win_request *) MPIU_Calloc0(1, MPIDI_Win_request);
req->win = win;
http://git.mpich.org/mpich.git/commitdiff/caa70a87a2fc04cf113761d2eb2e0c60d86c6e25
commit caa70a87a2fc04cf113761d2eb2e0c60d86c6e25
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date: Thu Apr 23 15:49:15 2015 -0500
tsuite: test to expose limitation in Portals4 netmod
Tests handling of PTL_NO_SPACE scenario where the max entry_list
limit is reached in the Portals4 netmod.
Signed-off-by: Huiwei Lu <huiweilu at mcs.anl.gov>
diff --git a/test/mpi/.gitignore b/test/mpi/.gitignore
index 0886a79..d1c2967 100644
--- a/test/mpi/.gitignore
+++ b/test/mpi/.gitignore
@@ -530,6 +530,7 @@
/rma/putfence1
/rma/putpscw1
/rma/wintest
+/rma/manyget
/spawn/namepub
/spawn/disconnect3
/spawn/spaiccreate
diff --git a/test/mpi/rma/Makefile.am b/test/mpi/rma/Makefile.am
index 1c42b1c..50785e9 100644
--- a/test/mpi/rma/Makefile.am
+++ b/test/mpi/rma/Makefile.am
@@ -144,7 +144,8 @@ noinst_PROGRAMS = \
atomic_rmw_fop \
atomic_rmw_cas \
atomic_rmw_gacc \
- acc-pairtype
+ acc-pairtype \
+ manyget
if BUILD_MPIX_TESTS
noinst_PROGRAMS += aint
diff --git a/test/mpi/rma/manyget.c b/test/mpi/rma/manyget.c
new file mode 100644
index 0000000..176cc18
--- /dev/null
+++ b/test/mpi/rma/manyget.c
@@ -0,0 +1,59 @@
+/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
+/*
+ * (C) 2015 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+/* This test triggers a limitation in the Portals4 netmod where
+ * too many large messages can overflow the available ME entries
+ * (PTL_NO_SPACE). Our approach is to queue the entire send message
+ * in the Rportals layer until we know there is ME space available.
+ */
+#include <stdlib.h>
+#include <stdio.h>
+#include <mpi.h>
+
+#define BUFSIZE (128*1024)
+
+int main(int argc, char *argv[])
+{
+ int i, rank, size;
+ int *buf;
+ MPI_Win win;
+
+ MPI_Init(&argc, &argv);
+
+ buf = malloc(BUFSIZE);
+
+ MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+ MPI_Comm_size(MPI_COMM_WORLD, &size);
+
+ if (size != 2) {
+ printf("test must be run with 2 processes!\n");
+ MPI_Abort(MPI_COMM_WORLD, 1);
+ }
+
+ if (rank == 0)
+ MPI_Win_create(buf, sizeof(int), BUFSIZE / sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD,
+ &win);
+ else
+ MPI_Win_create(MPI_BOTTOM, 0, 1, MPI_INFO_NULL, MPI_COMM_WORLD, &win);
+
+ MPI_Win_fence(0, win);
+
+ if (rank == 1) {
+ for (i = 0; i < 100000; i++)
+ MPI_Get(buf, BUFSIZE / sizeof(int), MPI_INT, 0, 0, BUFSIZE / sizeof(int), MPI_INT, win);
+ }
+
+ MPI_Win_fence(0, win);
+ MPI_Win_free(&win);
+
+ if (rank == 0)
+ printf(" No Errors\n");
+
+ free(buf);
+ MPI_Finalize();
+
+ return 0;
+}
diff --git a/test/mpi/rma/testlist.in b/test/mpi/rma/testlist.in
index 52e94fa..fa8acee 100644
--- a/test/mpi/rma/testlist.in
+++ b/test/mpi/rma/testlist.in
@@ -133,6 +133,7 @@ atomic_rmw_cas 3
atomic_rmw_gacc 3
@mpix at aint 2 strict=false
acc-pairtype 2
+manyget 2
## This test is not strictly correct. This was meant to test out the
## case when MPI_Test is not nonblocking. However, we ended up
-----------------------------------------------------------------------
Summary of changes:
src/include/mpierrs.h | 4 +-
src/mpi/rma/compare_and_swap.c | 2 +-
.../pamid/src/onesided/mpid_win_compare_and_swap.c | 2 +-
test/mpi/.gitignore | 1 +
test/mpi/rma/Makefile.am | 3 +-
test/mpi/rma/manyget.c | 59 ++++++++++++++++++++
test/mpi/rma/testlist.in | 1 +
7 files changed, 67 insertions(+), 5 deletions(-)
create mode 100644 test/mpi/rma/manyget.c
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list