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 e4fa6c06477c329c83d71479b667a70a6ef570dc (commit) via dfef4246d7af2b17b75d816c077baca3bfab4b85 (commit) from e21480612e97a8a8151801e87e2f3c46fe125359 (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/e4fa6c06477c329c83d71479b667a70a6e... commit e4fa6c06477c329c83d71479b667a70a6ef570dc Author: Michael Blocksome <[email protected]> Date: Mon May 20 15:36:15 2013 -0500 Do not assert when a pami extension is missing. diff --git a/src/mpid/pamid/src/pamix/pamix.c b/src/mpid/pamid/src/pamix/pamix.c index e213d3a..e274176 100644 --- a/src/mpid/pamid/src/pamix/pamix.c +++ b/src/mpid/pamid/src/pamix/pamix.c @@ -81,7 +81,6 @@ pamix_extension_info_t PAMIX_Extensions; ({ \ void* fn; \ fn = PAMI_Extension_symbol(ext, name); \ - PAMIX_assert_always(fn != NULL); \ (type)fn; \ }) void http://git.mpich.org/mpich.git/commitdiff/dfef4246d7af2b17b75d816c077baca3bf... commit dfef4246d7af2b17b75d816c077baca3bfab4b85 Author: Michael Blocksome <[email protected]> Date: Fri May 17 15:35:11 2013 -0500 Disable MPI_IN_PLACE for versions of pami that do not support PAMI_IN_PLACE. Attempting to use 'MPI_IN_PLACE' with a pamid collective and a pami library that does not support 'PAMI_IN_PLACE' will abort. Versions of pami that support `PAMI_IN_PLACE` will be available in the near future. diff --git a/src/mpid/pamid/src/coll/allgather/mpido_allgather.c b/src/mpid/pamid/src/coll/allgather/mpido_allgather.c index 36e7fe7..a65181c 100644 --- a/src/mpid/pamid/src/coll/allgather/mpido_allgather.c +++ b/src/mpid/pamid/src/coll/allgather/mpido_allgather.c @@ -289,6 +289,13 @@ MPIDO_Allgather(const void *sendbuf, MPID_Comm * comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif /* ********************************* * Check the nature of the buffers * ********************************* @@ -581,6 +588,13 @@ MPIDO_Allgather_simple(const void *sendbuf, MPID_Comm * comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif /* ********************************* * Check the nature of the buffers * ********************************* diff --git a/src/mpid/pamid/src/coll/allgatherv/mpido_allgatherv.c b/src/mpid/pamid/src/coll/allgatherv/mpido_allgatherv.c index cec19d4..b8ab1ef 100644 --- a/src/mpid/pamid/src/coll/allgatherv/mpido_allgatherv.c +++ b/src/mpid/pamid/src/coll/allgatherv/mpido_allgatherv.c @@ -296,6 +296,13 @@ MPIDO_Allgatherv(const void *sendbuf, MPID_Comm * comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif TRACE_ERR("Entering MPIDO_Allgatherv\n"); /* function pointer to be used to point to approperiate algorithm */ @@ -616,6 +623,13 @@ MPIDO_Allgatherv_simple(const void *sendbuf, MPID_Comm * comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif TRACE_ERR("Entering MPIDO_Allgatherv_optimized\n"); /* function pointer to be used to point to approperiate algorithm */ /* Check the nature of the buffers */ diff --git a/src/mpid/pamid/src/coll/allreduce/mpido_allreduce.c b/src/mpid/pamid/src/coll/allreduce/mpido_allreduce.c index b921f9d..41e5759 100644 --- a/src/mpid/pamid/src/coll/allreduce/mpido_allreduce.c +++ b/src/mpid/pamid/src/coll/allreduce/mpido_allreduce.c @@ -43,6 +43,13 @@ int MPIDO_Allreduce(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif void *sbuf; TRACE_ERR("Entering mpido_allreduce\n"); pami_type_t pdt; @@ -397,6 +404,13 @@ int MPIDO_Allreduce_simple(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif void *sbuf; TRACE_ERR("Entering MPIDO_Allreduce_optimized\n"); pami_type_t pdt; diff --git a/src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c b/src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c index 8246b21..c3952a7 100644 --- a/src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c +++ b/src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c @@ -42,6 +42,13 @@ int MPIDO_Alltoall(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif TRACE_ERR("Entering MPIDO_Alltoall\n"); volatile unsigned active = 1; MPID_Datatype *sdt, *rdt; @@ -221,6 +228,13 @@ int MPIDO_Alltoall_simple(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif TRACE_ERR("Entering MPIDO_Alltoall_optimized\n"); volatile unsigned active = 1; void *snd_noncontig_buff = NULL, *rcv_noncontig_buff = NULL; diff --git a/src/mpid/pamid/src/coll/alltoallv/mpido_alltoallv.c b/src/mpid/pamid/src/coll/alltoallv/mpido_alltoallv.c index d2b1c14..76b45a5 100644 --- a/src/mpid/pamid/src/coll/alltoallv/mpido_alltoallv.c +++ b/src/mpid/pamid/src/coll/alltoallv/mpido_alltoallv.c @@ -43,6 +43,13 @@ int MPIDO_Alltoallv(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif TRACE_ERR("Entering MPIDO_Alltoallv\n"); volatile unsigned active = 1; void *snd_noncontig_buff = NULL, *rcv_noncontig_buff = NULL; @@ -402,6 +409,13 @@ int MPIDO_Alltoallv_simple(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif TRACE_ERR("Entering MPIDO_Alltoallv_optimized\n"); volatile unsigned active = 1; int sndtypelen, rcvtypelen, snd_contig = 1, rcv_contig = 1; diff --git a/src/mpid/pamid/src/coll/gather/mpido_gather.c b/src/mpid/pamid/src/coll/gather/mpido_gather.c index 6e9fff3..7ff1807 100644 --- a/src/mpid/pamid/src/coll/gather/mpido_gather.c +++ b/src/mpid/pamid/src/coll/gather/mpido_gather.c @@ -130,6 +130,13 @@ int MPIDO_Gather(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif MPID_Datatype * data_ptr; MPI_Aint true_lb = 0; pami_xfer_t gather; @@ -375,6 +382,13 @@ int MPIDO_Gather_simple(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif MPID_Datatype * data_ptr; MPI_Aint true_lb = 0; pami_xfer_t gather; diff --git a/src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c b/src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c index 8dddd72..d7b9764 100644 --- a/src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c +++ b/src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c @@ -42,6 +42,13 @@ int MPIDO_Gatherv(const void *sendbuf, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif TRACE_ERR("Entering MPIDO_Gatherv\n"); int rc; int contig, rsize=0, ssize=0; @@ -238,6 +245,13 @@ int MPIDO_Gatherv_simple(const void *sendbuf, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif TRACE_ERR("Entering MPIDO_Gatherv_optimized\n"); int snd_contig = 1, rcv_contig = 1; void *snd_noncontig_buff = NULL, *rcv_noncontig_buff = NULL; diff --git a/src/mpid/pamid/src/coll/reduce/mpido_reduce.c b/src/mpid/pamid/src/coll/reduce/mpido_reduce.c index abc45fd..5a53b48 100644 --- a/src/mpid/pamid/src/coll/reduce/mpido_reduce.c +++ b/src/mpid/pamid/src/coll/reduce/mpido_reduce.c @@ -40,6 +40,13 @@ int MPIDO_Reduce(const void *sendbuf, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif MPID_Datatype *dt_null = NULL; MPI_Aint true_lb = 0; int dt_contig, tsize; @@ -247,6 +254,13 @@ int MPIDO_Reduce_simple(const void *sendbuf, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif MPID_Datatype *dt_null = NULL; MPI_Aint true_lb = 0; int dt_contig, tsize; diff --git a/src/mpid/pamid/src/coll/scan/mpido_scan.c b/src/mpid/pamid/src/coll/scan/mpido_scan.c index f7a055b..429b355 100644 --- a/src/mpid/pamid/src/coll/scan/mpido_scan.c +++ b/src/mpid/pamid/src/coll/scan/mpido_scan.c @@ -96,6 +96,13 @@ int MPIDO_Doscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPID_Comm * comm_ptr, int *mpierrno, int exflag) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif MPID_Datatype *dt_null = NULL; MPI_Aint true_lb = 0; int dt_contig, tsize; @@ -257,6 +264,13 @@ int MPIDO_Doscan_simple(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPID_Comm * comm_ptr, int *mpierrno, int exflag) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif MPID_Datatype *dt_null = NULL; MPI_Aint true_lb = 0; int dt_contig, tsize; diff --git a/src/mpid/pamid/src/coll/scatter/mpido_scatter.c b/src/mpid/pamid/src/coll/scatter/mpido_scatter.c index b2e9a9d..58d371f 100644 --- a/src/mpid/pamid/src/coll/scatter/mpido_scatter.c +++ b/src/mpid/pamid/src/coll/scatter/mpido_scatter.c @@ -108,6 +108,13 @@ int MPIDO_Scatter(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif MPID_Datatype * data_ptr; MPI_Aint true_lb = 0; int contig, nbytes = 0; @@ -323,6 +330,13 @@ int MPIDO_Scatter_simple(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif MPID_Datatype * data_ptr; const int rank = comm_ptr->rank; int success = 1, snd_contig = 1, rcv_contig = 1; diff --git a/src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c b/src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c index fcafbe0..26b8056 100644 --- a/src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c +++ b/src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c @@ -236,6 +236,13 @@ int MPIDO_Scatterv(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif int contig, tmp, pamidt = 1; int ssize, rsize; MPID_Datatype *dt_ptr = NULL; @@ -445,6 +452,13 @@ int MPIDO_Scatterv_simple(const void *sendbuf, MPID_Comm *comm_ptr, int *mpierrno) { +#ifndef HAVE_PAMI_IN_PLACE + if (sendbuf == MPI_IN_PLACE) + { + MPID_Abort (NULL, 0, 1, "'MPI_IN_PLACE' requries support for `PAMI_IN_PLACE`"); + return -1; + } +#endif int snd_contig = 1; int rcv_contig = 1; int send_size = 0, recv_size = 0; diff --git a/src/mpid/pamid/subconfigure.m4 b/src/mpid/pamid/subconfigure.m4 index 39abcc1..57ef840 100644 --- a/src/mpid/pamid/subconfigure.m4 +++ b/src/mpid/pamid/subconfigure.m4 @@ -56,6 +56,7 @@ build_mpid_common_sched=yes build_mpid_common_datatype=yes build_mpid_common_thread=yes + ])dnl end AM_COND_IF(BUILD_PAMID,...) ])dnl end PREREQ AC_DEFUN([PAC_SUBCFG_BODY_]PAC_SUBCFG_AUTO_SUFFIX,[ @@ -186,6 +187,23 @@ PAC_APPEND_FLAG([-I${master_top_srcdir}/src/mpid/common/locks], [CPPFLAGS]) PAC_APPEND_FLAG([-I${master_top_srcdir}/src/mpid/common/thread], [CPPFLAGS]) PAC_APPEND_FLAG([-I${master_top_srcdir}/src/mpid/common/sched], [CPPFLAGS]) +dnl +dnl Check for PAMI_IN_PLACE +dnl +AC_MSG_CHECKING([for PAMI_IN_PLACE support]) +have_pami_in_place=0 +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include "pami.h"]], + [[void * foo = PAMI_IN_PLACE;]])], + have_pami_in_place=1 +) +if test "$have_pami_in_place" != "0"; then + AC_DEFINE(HAVE_PAMI_IN_PLACE,1,[Define if PAMI_IN_PLACE is defined in pami.h]) + AC_MSG_RESULT('yes') +else + AC_DEFINE(PAMI_IN_PLACE,((void *) -1L),[Define if PAMI_IN_PLACE is not defined in pami.h]) + AC_MSG_RESULT('no') +fi dnl dnl Check for PAMI_CLIENT_NONCONTIG ----------------------------------------------------------------------- Summary of changes: .../pamid/src/coll/allgather/mpido_allgather.c | 14 ++++++++++++++ .../pamid/src/coll/allgatherv/mpido_allgatherv.c | 14 ++++++++++++++ .../pamid/src/coll/allreduce/mpido_allreduce.c | 14 ++++++++++++++ src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c | 14 ++++++++++++++ .../pamid/src/coll/alltoallv/mpido_alltoallv.c | 14 ++++++++++++++ src/mpid/pamid/src/coll/gather/mpido_gather.c | 14 ++++++++++++++ src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c | 14 ++++++++++++++ src/mpid/pamid/src/coll/reduce/mpido_reduce.c | 14 ++++++++++++++ src/mpid/pamid/src/coll/scan/mpido_scan.c | 14 ++++++++++++++ src/mpid/pamid/src/coll/scatter/mpido_scatter.c | 14 ++++++++++++++ src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c | 14 ++++++++++++++ src/mpid/pamid/src/pamix/pamix.c | 1 - src/mpid/pamid/subconfigure.m4 | 18 ++++++++++++++++++ 13 files changed, 172 insertions(+), 1 deletions(-) hooks/post-receive -- MPICH primary repository