[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1rc2-186-gbb755b5

mysql vizuser noreply at mpich.org
Mon Jan 27 17:39:53 CST 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  bb755b5c68362cc472a13a1af4aab1ada720664f (commit)
      from  ca2d0bca0ac10a7ac411bdd6ad128ad6a2f2bd65 (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 -----------------------------------------------------------------

commit bb755b5c68362cc472a13a1af4aab1ada720664f
Author: Wesley Bland <wbland at mcs.anl.gov>
Date:   Mon Jan 27 14:11:33 2014 -0600

    Moves the tag reservation to MPI layer
    Resets MPIDI_TAG_UB back to 0x7fffffff. This value was changed a while back,
    but the change should have happened at the MPI layer instead of the CH3 layer.
    This resets the value to allow CH3 to use the tag space.
    Instead, the value is now set in the MPI layer during initthread. This means
    that it will be safe regardless of the device being used. This prevents a
    collision that was occurring on the pamid device where the values for
    MPIR_TAG_ERROR_BIT and the MPIR_Process.attr.tagged_coll_mask values were the
    Fixes #2008
    Signed-off-by: Pavan Balaji <balaji at mcs.anl.gov>

diff --git a/src/mpi/init/initthread.c b/src/mpi/init/initthread.c
index 231e214..413043c 100644
--- a/src/mpi/init/initthread.c
+++ b/src/mpi/init/initthread.c
@@ -469,8 +469,10 @@ int MPIR_Init_thread(int * argc, char ***argv, int required, int * provided)
     /* Assert: tag_ub should be a power of 2 minus 1 */
     MPIU_Assert(((unsigned)MPIR_Process.attrs.tag_ub & ((unsigned)MPIR_Process.attrs.tag_ub + 1)) == 0);
-    /* Set aside tag space for tagged collectives */
-    MPIR_Process.attrs.tag_ub     >>= 1;
+    /* Set aside tag space for tagged collectives and failure notification */
+    MPIR_Process.attrs.tag_ub     >>= 2;
+    /* The bit for error checking is set in a macro in mpiimpl.h for
+     * performance reasons. */
     MPIR_Process.tagged_coll_mask   = MPIR_Process.attrs.tag_ub + 1;
     /* Assert: tag_ub is at least the minimum asked for in the MPI spec */
diff --git a/src/mpid/ch3/include/mpidpre.h b/src/mpid/ch3/include/mpidpre.h
index 4d93ae4..786cdd8 100644
--- a/src/mpid/ch3/include/mpidpre.h
+++ b/src/mpid/ch3/include/mpidpre.h
@@ -123,7 +123,7 @@ typedef union {
  * macros to set/access this bit are in src/include/mpiimpl.h. If the
  * location of this bit changes, those macros also need to be adjusted.
-#define MPIDI_TAG_UB (0x3fffffff)
+#define MPIDI_TAG_UB (0x7fffffff)
 /* Provides MPIDI_CH3_Pkt_t.  Must come after MPIDI_Message_match definition. */
 #include "mpidpkt.h"


Summary of changes:
 src/mpi/init/initthread.c      |    6 ++++--
 src/mpid/ch3/include/mpidpre.h |    2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

MPICH primary repository

More information about the commits mailing list