[mpich] MPICH primary repository branch, master, updated. v3.1.2-114-gbbacb5b
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/bbacb5b5be1182924cd50416e7a05033e3... commit bbacb5b5be1182924cd50416e7a05033e3a145dd Author: Igor Ivanov <[email protected]> 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 <[email protected]> Change-Id: I99d41517c58ce9767735a8eccc21ad360e824bf8 Signed-off-by: Pavan Balaji <[email protected]> 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
participants (1)
-
noreply@mpich.org