[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1.3-21-gf91a57d
Service Account
noreply at mpich.org
Fri Oct 17 11:24:16 CDT 2014
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 f91a57d30ffba0fad02bb4b36b551e5fcf2a9f2c (commit)
via 713eadd7d0278f780dcde3be7ca2189c545256c9 (commit)
via ca75812b1d125d32a0b47d6b64f062065ae5bb82 (commit)
via ec6af78bdd6e07c2346b48395fd3dc719b81f428 (commit)
via ef09dabfbfcd545eded2510c59557c49ec7b2594 (commit)
via 803512476afbbb5bbfed01a7fb518a34cbb95e5c (commit)
from 1a4265d0710eddc5cdcdd6a1599d41e9a1d9203b (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/f91a57d30ffba0fad02bb4b36b551e5fcf2a9f2c
commit f91a57d30ffba0fad02bb4b36b551e5fcf2a9f2c
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date: Thu Oct 16 09:47:38 2014 -0500
disable interlibrary dependencies on BGQ
The default linker behavior on BGQ makes interlibrary dependencies
tricky to support correctly. Just disable them to make our lives easier.
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/src/mpid/pamid/subconfigure.m4 b/src/mpid/pamid/subconfigure.m4
index d9f2bb7..f67f86e 100644
--- a/src/mpid/pamid/subconfigure.m4
+++ b/src/mpid/pamid/subconfigure.m4
@@ -228,6 +228,13 @@ if test "${pamid_platform}" = "BGQ" ; then
dnl
dnl Only the 'cpi', 'mpivars', and 'mpichversion' executables have this problem.
MPID_LIBTOOL_STATIC_FLAG="-all-static"
+
+ dnl Another bgq special case. The default linker behavior is to use static versions
+ dnl of libraries. This makes supporting interlibrary dependencies difficult. Just
+ dnl disable them to make our lives easier.
+ if test "$INTERLIB_DEPS" = "yes"; then
+ INTERLIB_DEPS="no"
+ fi
fi
if test "${pamid_platform}" = "PE" ; then
http://git.mpich.org/mpich.git/commitdiff/713eadd7d0278f780dcde3be7ca2189c545256c9
commit 713eadd7d0278f780dcde3be7ca2189c545256c9
Author: Pavan Balaji <balaji at anl.gov>
Date: Tue Oct 14 15:00:46 2014 -0500
Allow ROMIO to propagate library dependencies to MPICH.
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/configure.ac b/configure.ac
index c7e4592..5c3d291 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5977,7 +5977,7 @@ AC_DEFINE(HAVE_MPICHCONF,1,[Define so that we can test whether the mpichconf.h f
# add the LDFLAGS/LIBS we got so far to WRAPPERs
if test "$INTERLIB_DEPS" = "no" ; then
WRAPPER_LDFLAGS="$WRAPPER_LDFLAGS $LDFLAGS"
- WRAPPER_LIBS="$WRAPPER_LIBS $EXTERNAL_LIBS $ROMIO_EXTERNAL_LIBS"
+ WRAPPER_LIBS="$WRAPPER_LIBS $EXTERNAL_LIBS"
fi
if test "$USE_PMI2_API" = "yes" ; then
diff --git a/src/mpi/romio/localdefs.in b/src/mpi/romio/localdefs.in
index 11edc9e..bf057d1 100644
--- a/src/mpi/romio/localdefs.in
+++ b/src/mpi/romio/localdefs.in
@@ -1,4 +1,7 @@
#! /bin/sh
-ROMIO_EXTERNAL_LIBS="@LIBS@"
+
+# Append ROMIO library dependencies to the global list
+EXTERNAL_LIBS="$EXTERNAL_LIBS @LIBS@"
+
MPI_OFFSET_TYPE="@MPI_OFFSET_TYPE@"
FORTRAN_MPI_OFFSET="@FORTRAN_MPI_OFFSET@"
http://git.mpich.org/mpich.git/commitdiff/ca75812b1d125d32a0b47d6b64f062065ae5bb82
commit ca75812b1d125d32a0b47d6b64f062065ae5bb82
Author: Paul Coffman <pkcoff at us.ibm.com>
Date: Tue Oct 7 21:11:27 2014 -0500
MPIDI_Coll_comm_create unsetting default collops for inTERcomms
There are no pami optimized collectives available for inTERcomms
so when MPIDI_Coll_comm_create is called it checks to see
if the comm is an inTRAcomm and if not just returns,
however it was doing the new malloc for comm->coll_fns
before the if-check which was unsetting the MPICH defaults.
The solution is to move the malloc after the inTRAcomm
if-check.
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/src/mpid/pamid/src/comm/mpid_comm.c b/src/mpid/pamid/src/comm/mpid_comm.c
index 173c352..5359da8 100644
--- a/src/mpid/pamid/src/comm/mpid_comm.c
+++ b/src/mpid/pamid/src/comm/mpid_comm.c
@@ -227,12 +227,12 @@ void MPIDI_Coll_comm_create(MPID_Comm *comm)
if (!MPIDI_Process.optimized.collectives)
return;
- comm->coll_fns = MPIU_Calloc0(1, MPID_Collops);
- MPID_assert(comm->coll_fns != NULL);
-
if(comm->comm_kind != MPID_INTRACOMM) return;
/* Create a geometry */
+ comm->coll_fns = MPIU_Calloc0(1, MPID_Collops);
+ MPID_assert(comm->coll_fns != NULL);
+
if(comm->mpid.geometry != MPIDI_Process.world_geometry)
{
if(unlikely(MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_0 && comm->rank == 0))
http://git.mpich.org/mpich.git/commitdiff/ec6af78bdd6e07c2346b48395fd3dc719b81f428
commit ec6af78bdd6e07c2346b48395fd3dc719b81f428
Author: Paul Coffman <pkcoff at us.ibm.com>
Date: Tue Oct 7 21:05:26 2014 -0500
MPIDO_Ibarrier optimized pami code incorrect
The optimized pami code currently within MPIDO_Ibarrier
is incorrect - for now do not run it, instead just
kick back to MPICH if mpir_nbc is set, otherwise
call the blocking MPIR_Barrier().
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/src/mpid/pamid/src/coll/barrier/mpido_ibarrier.c b/src/mpid/pamid/src/coll/barrier/mpido_ibarrier.c
index 10607c7..fd33193 100644
--- a/src/mpid/pamid/src/coll/barrier/mpido_ibarrier.c
+++ b/src/mpid/pamid/src/coll/barrier/mpido_ibarrier.c
@@ -34,8 +34,11 @@ int MPIDO_Ibarrier(MPID_Comm *comm_ptr, MPID_Request **request)
{
TRACE_ERR("Entering MPIDO_Ibarrier\n");
- if(unlikely(comm_ptr->mpid.user_selected_type[PAMI_XFER_BARRIER] == MPID_COLL_USE_MPICH))
- {
+ /*
+ * There is actually no current pami optimization for this
+ * so just kick it back to MPICH if mpir_nbc is set, otherwise
+ * call the blocking MPIR_Barrier().
+ */
if (MPIDI_Process.mpir_nbc != 0)
return 0;
@@ -56,61 +59,4 @@ int MPIDO_Ibarrier(MPID_Comm *comm_ptr, MPID_Request **request)
MPIDI_Request_complete_norelease_inline(mpid_request);
return rc;
- }
-
- MPIDI_Post_coll_t barrier_post;
- pami_xfer_t barrier;
- pami_algorithm_t my_barrier;
- pami_metadata_t *my_barrier_md;
- int queryreq = 0;
-
- MPID_Request * mpid_request = MPID_Request_create_inline();
- mpid_request->kind = MPID_COLL_REQUEST;
- *request = mpid_request;
-
- barrier.cb_done = cb_ibarrier;
- barrier.cookie = (void *)mpid_request;
-
- if(comm_ptr->mpid.user_selected_type[PAMI_XFER_BARRIER] == MPID_COLL_OPTIMIZED)
- {
- TRACE_ERR("Optimized barrier (%s) was pre-selected\n", comm_ptr->mpid.opt_protocol_md[PAMI_XFER_BARRIER][0].name);
- my_barrier = comm_ptr->mpid.opt_protocol[PAMI_XFER_BARRIER][0];
- my_barrier_md = &comm_ptr->mpid.opt_protocol_md[PAMI_XFER_BARRIER][0];
- queryreq = comm_ptr->mpid.must_query[PAMI_XFER_BARRIER][0];
- }
- else
- {
- TRACE_ERR("Barrier (%s) was specified by user\n", comm_ptr->mpid.user_metadata[PAMI_XFER_BARRIER].name);
- my_barrier = comm_ptr->mpid.user_selected[PAMI_XFER_BARRIER];
- my_barrier_md = &comm_ptr->mpid.user_metadata[PAMI_XFER_BARRIER];
- queryreq = comm_ptr->mpid.user_selected_type[PAMI_XFER_BARRIER];
- }
-
- barrier.algorithm = my_barrier;
- /* There is no support for query-required barrier protocols here */
- MPID_assert_always(queryreq != MPID_COLL_ALWAYS_QUERY);
- MPID_assert_always(queryreq != MPID_COLL_CHECK_FN_REQUIRED);
-
- /* TODO Name needs fixed somehow */
- MPIDI_Update_last_algorithm(comm_ptr, my_barrier_md->name);
- if(unlikely(MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL && comm_ptr->rank == 0))
- {
- unsigned long long int threadID;
- MPIU_Thread_id_t tid;
- MPIU_Thread_self(&tid);
- threadID = (unsigned long long int)tid;
- fprintf(stderr,"<%llx> Using protocol %s for barrier on %u\n",
- threadID,
- my_barrier_md->name,
- (unsigned) comm_ptr->context_id);
- }
- TRACE_ERR("%s barrier\n", MPIDI_Process.context_post.active>0?"posting":"invoking");
- MPIDI_Context_post(MPIDI_Context[0], &barrier_post.state,
- MPIDI_Pami_post_wrapper, (void *)&barrier);
- TRACE_ERR("barrier %s rc: %d\n", MPIDI_Process.context_post.active>0?"posted":"invoked", rc);
-
- MPID_Progress_wait_inline(1);
-
- TRACE_ERR("exiting mpido_ibarrier\n");
- return 0;
}
http://git.mpich.org/mpich.git/commitdiff/ef09dabfbfcd545eded2510c59557c49ec7b2594
commit ef09dabfbfcd545eded2510c59557c49ec7b2594
Author: Paul Coffman <pkcoff at us.ibm.com>
Date: Tue Oct 7 20:51:16 2014 -0500
Disable MPIDI_Init_collsel_extension call on BGQ
At the end of MPIDI_PAMI_context_init the MPIDI_Init_collsel_extension
is called to enable the dynamic optimized collective advisor. This
is not supported on BGQ so ifdef out the call.
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/src/mpid/pamid/src/mpid_init.c b/src/mpid/pamid/src/mpid_init.c
index 51ccd9b..064f085 100644
--- a/src/mpid/pamid/src/mpid_init.c
+++ b/src/mpid/pamid/src/mpid_init.c
@@ -810,8 +810,12 @@ MPIDI_PAMI_context_init(int* threading, int *size)
/* Get collective selection advisor and cache it */
/* --------------------------------------------- */
/* Context is created, i.e. collective selection extension is initialized in PAMI. Now I can get the
- advisor if I am not in TUNE mode. If in TUNE mode, I can init collsel and generate the table */
+ advisor if I am not in TUNE mode. If in TUNE mode, I can init collsel and generate the table.
+ This is not supported on BGQ.
+ */
+#ifndef __BGQ_
MPIDI_Init_collsel_extension();
+#endif
#if (MPIDI_STATISTICS || MPIDI_PRINTENV)
MPIDI_open_pe_extension();
http://git.mpich.org/mpich.git/commitdiff/803512476afbbb5bbfed01a7fb518a34cbb95e5c
commit 803512476afbbb5bbfed01a7fb518a34cbb95e5c
Author: Paul Coffman <pkcoff at us.ibm.com>
Date: Tue Oct 7 20:35:59 2014 -0500
Remove Blue Gene/Q specific MPID_VCR_GET_LPIDS
Since Blue Gene/Q does not support dynamic tasking there was only 1
element in the MPID_VCR_t data structure so a shortcut was taken
to avoid a malloc and free of a new list of pami_task_t in a form
the pami geometry creation was expecting. However it seems an
array of structures with 1 pami_task_t element in it is not exactly the same
in memory as an array of pami_task_t themselves so the pami
geometry creation was failing. The fix is to simply do what
all other platforms do and malloc a separate list of pami_task_t.
Signed-off-by: Rob Latham <robl at mcs.anl.gov>
diff --git a/src/mpid/pamid/include/mpidi_macros.h b/src/mpid/pamid/include/mpidi_macros.h
index b8a1b45..5c59753 100644
--- a/src/mpid/pamid/include/mpidi_macros.h
+++ b/src/mpid/pamid/include/mpidi_macros.h
@@ -133,14 +133,6 @@ _data_sz_out) \
vcr[index]->taskid; \
})
-#ifdef __BGQ__
-/* BGQ just shares the MPICH vcr/tasklist.
- This relies on the VCR being a simple task list which is asserted
- in static_assertions() in mpid_init.c */
-#define MPID_VCR_GET_LPIDS(comm, taskids) taskids = &((*comm->vcr)->taskid);
-#define MPID_VCR_FREE_LPIDS(taskids)
-#else
-/* non-BGQ mallocs and copies the MPICH vcr/tasklist */
#define MPID_VCR_GET_LPIDS(comm, taskids) \
({ \
int i; \
@@ -151,8 +143,6 @@ _data_sz_out) \
})
#define MPID_VCR_FREE_LPIDS(taskids) MPIU_Free(taskids)
-#endif
-
#define MPID_GPID_Get(comm_ptr, rank, gpid) \
({ \
gpid[1] = MPID_VCR_GET_LPID(comm_ptr->vcr, rank); \
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 2 +-
src/mpi/romio/localdefs.in | 5 ++-
src/mpid/pamid/include/mpidi_macros.h | 10 ----
src/mpid/pamid/src/coll/barrier/mpido_ibarrier.c | 64 ++--------------------
src/mpid/pamid/src/comm/mpid_comm.c | 6 +-
src/mpid/pamid/src/mpid_init.c | 6 ++-
src/mpid/pamid/subconfigure.m4 | 7 +++
7 files changed, 25 insertions(+), 75 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list