[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1.2-114-gbbacb5b

Service Account noreply at mpich.org
Tue Aug 26 07:36:22 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  bbacb5b5be1182924cd50416e7a05033e3a145dd (commit)
      from  f7ad217b693fef4c93f43a9e7c3aecc29ae5598d (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/bbacb5b5be1182924cd50416e7a05033e3a145dd

commit bbacb5b5be1182924cd50416e7a05033e3a145dd
Author: Igor Ivanov <Igor.Ivanov at itseez.com>
Date:   Mon Aug 18 17:17:42 2014 +0300

    netmod/mxm: Add global synchronization during init/fini
    
    Put a barrier inside initialization and finalization phases to make sure
    all ranks call mxm_ep_connect and mxm_ep_disconnect before and after
    mxm connections readiness.
    
    Signed-off-by: Igor Ivanov <Igor.Ivanov at itseez.com>
    
    Change-Id: I99d41517c58ce9767735a8eccc21ad360e824bf8
    Signed-off-by: Pavan Balaji <balaji at anl.gov>

diff --git a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_impl.h b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_impl.h
index 90ad8b8..3d5f5d4 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_impl.h
+++ b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_impl.h
@@ -211,6 +211,17 @@ static inline void list_grow_mxm_req(list_head_t * list_head)
     }
 }
 
+static inline void _mxm_barrier(void)
+{
+    int pmi_errno;
+
+#ifdef USE_PMI2_API
+    pmi_errno = PMI2_KVS_Fence();
+#else
+    pmi_errno = PMI_Barrier();
+#endif
+}
+
 static inline void _mxm_to_mpi_status(mxm_error_t mxm_error, MPI_Status * mpi_status)
 {
     switch (mxm_error) {
diff --git a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_init.c b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_init.c
index da5409a..eafe66a 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_init.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_init.c
@@ -78,6 +78,8 @@ int MPID_nem_mxm_post_init(void)
 {
     int mpi_errno = MPI_SUCCESS;
 
+    _mxm_barrier();
+
 #if MXM_API >= MXM_VERSION(3,1)
     /* Current logic guarantees that all VCs have been initialized before post init call */
     if (_mxm_obj.conf.bulk_connect) {
@@ -151,6 +153,8 @@ int MPID_nem_mxm_finalize(void)
     MPIDI_STATE_DECL(MPID_STATE_MXM_FINALIZE);
     MPIDI_FUNC_ENTER(MPID_STATE_MXM_FINALIZE);
 
+    _mxm_barrier();
+
     mpi_errno = _mxm_fini();
     if (mpi_errno)
         MPIU_ERR_POP(mpi_errno);

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

Summary of changes:
 .../ch3/channels/nemesis/netmod/mxm/mxm_impl.h     |   11 +++++++++++
 .../ch3/channels/nemesis/netmod/mxm/mxm_init.c     |    4 ++++
 2 files changed, 15 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list