[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1.3-3-g696eb4a

Service Account noreply at mpich.org
Wed Oct 8 15:38:24 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  696eb4aa3a74e13b5eff61fc8eebe2bd3b3df014 (commit)
       via  35d5da0c09b4e45828ba8327fa5f93ce1114027a (commit)
      from  7a36603163cd917fe89a39cad668e5a7b6f917cb (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/696eb4aa3a74e13b5eff61fc8eebe2bd3b3df014

commit 696eb4aa3a74e13b5eff61fc8eebe2bd3b3df014
Author: Pavan Balaji <balaji at anl.gov>
Date:   Tue Oct 7 22:11:02 2014 -0500

    MPICH-specific initialization of hcoll.
    
    In some cases, we cannot let hcoll use whatever transport it needs.
    For example, ch3:sock assumes that while blocking the next event will
    come over the socket channel.  If HCOLL decides to use a different
    transport (such as mxm) and the next event comes on that transport,
    this can result in a deadlock.  In this patch, we let the channel
    specify what transports it can accept.
    
    Signed-off-by: Devendar Bureddy <devendar at mellanox.com>

diff --git a/src/mpid/ch3/channels/sock/subconfigure.m4 b/src/mpid/ch3/channels/sock/subconfigure.m4
index 79b2250..b95f9cb 100644
--- a/src/mpid/ch3/channels/sock/subconfigure.m4
+++ b/src/mpid/ch3/channels/sock/subconfigure.m4
@@ -12,6 +12,7 @@ AC_DEFUN([PAC_SUBCFG_PREREQ_]PAC_SUBCFG_AUTO_SUFFIX,[
         build_ch3u_sock=yes
 
         MPID_MAX_THREAD_LEVEL=MPI_THREAD_MULTIPLE
+        MPID_CH3I_CH_HCOLL_BCOL="basesmuma,basesmuma,ptpcoll"
 
         # code that formerly lived in setup_args
         #
diff --git a/src/mpid/ch3/src/ch3u_comm.c b/src/mpid/ch3/src/ch3u_comm.c
index b0e10c3..46bfe64 100644
--- a/src/mpid/ch3/src/ch3u_comm.c
+++ b/src/mpid/ch3/src/ch3u_comm.c
@@ -57,6 +57,9 @@ static hook_elt *destroy_hooks_tail = NULL;
 int MPIDI_CH3I_Comm_init(void)
 {
     int mpi_errno = MPI_SUCCESS;
+#if defined HAVE_LIBHCOLL && MPID_CH3I_CH_HCOLL_BCOL
+    MPIU_CHKLMEM_DECL(1);
+#endif
     MPIDI_STATE_DECL(MPID_STATE_MPIDI_CH3U_COMM_INIT);
 
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3U_COMM_INIT);
@@ -69,6 +72,31 @@ int MPIDI_CH3I_Comm_init(void)
 
 #if defined HAVE_LIBHCOLL
     if (MPIR_CVAR_CH3_ENABLE_HCOLL) {
+        int r;
+
+        /* check if the user is not trying to override the multicast
+         * setting before resetting it */
+        if (getenv("HCOLL_ENABLE_MCAST_ALL") == NULL) {
+            /* FIXME: We should not unconditionally disable multicast.
+             * Test to make sure it's available before choosing to
+             * enable or disable it. */
+            r = MPL_putenv("HCOLL_ENABLE_MCAST_ALL=0");
+            MPIU_ERR_CHKANDJUMP(r, mpi_errno, MPI_ERR_OTHER, "**putenv");
+        }
+
+#if defined MPID_CH3I_CH_HCOLL_BCOL
+        if (getenv("HCOLL_BCOL") == NULL) {
+            char *envstr;
+            int size = strlen("HCOLL_BCOL=") + strlen(MPID_CH3I_CH_HCOLL_BCOL) + 1;
+
+            MPIU_CHKLMEM_MALLOC(envstr, char *, size, mpi_errno, "**malloc");
+            MPL_snprintf(envstr, size, "HCOLL_BCOL=%s", MPID_CH3I_CH_HCOLL_BCOL);
+
+            r = MPL_putenv(envstr);
+            MPIU_ERR_CHKANDJUMP(r, mpi_errno, MPI_ERR_OTHER, "**putenv");
+        }
+#endif
+
         mpi_errno = MPIDI_CH3U_Comm_register_create_hook(hcoll_comm_create, NULL);
         if (mpi_errno) MPIU_ERR_POP(mpi_errno);
         mpi_errno = MPIDI_CH3U_Comm_register_destroy_hook(hcoll_comm_destroy, NULL);
@@ -81,6 +109,9 @@ int MPIDI_CH3I_Comm_init(void)
     
  fn_exit:
     MPIDI_FUNC_EXIT(MPID_STATE_MPIDI_CH3U_COMM_INIT);
+#if defined HAVE_LIBHCOLL && MPID_CH3I_CH_HCOLL_BCOL
+    MPIU_CHKLMEM_FREEALL();
+#endif
     return mpi_errno;
  fn_fail:
     goto fn_exit;

http://git.mpich.org/mpich.git/commitdiff/35d5da0c09b4e45828ba8327fa5f93ce1114027a

commit 35d5da0c09b4e45828ba8327fa5f93ce1114027a
Author: Pavan Balaji <balaji at anl.gov>
Date:   Sun Oct 5 20:50:22 2014 -0500

    Added a note in the README about MXM_LOG_LEVEL.
    
    Tell users that they can disable warnings if needed.
    
    Signed-off-by: Devendar Bureddy <devendar at mellanox.com>

diff --git a/README.vin b/README.vin
index 528164b..b1ad747 100644
--- a/README.vin
+++ b/README.vin
@@ -492,6 +492,16 @@ include headers are present in /path/to/mxm/include):
   --with-mxm-lib=/path/to/mxm/lib
   --with-mxm-include=/path/to/mxm/include
 
+By default, the mxm library throws warnings when the system does not
+enable certain features that might hurt performance.  These are
+important warnings that might cause performance degradation on your
+system.  But you might need root privileges to fix some of them.  If
+you would like to disable such warnings, you can set the MXM log level
+to "error" instead of the default "warn" by using:
+
+  MXM_LOG_LEVEL=error
+  export MXM_LOG_LEVEL
+
 ib network module
 `````````````````
 The IB netmod provides support for InfiniBand on x86_64 platforms

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

Summary of changes:
 README.vin                                 |   10 +++++++++
 src/mpid/ch3/channels/sock/subconfigure.m4 |    1 +
 src/mpid/ch3/src/ch3u_comm.c               |   31 ++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list