[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1-239-g793fca2

Service Account noreply at mpich.org
Fri May 9 14:46:19 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  793fca23719c92b92d1c20e8b05cb603889b838a (commit)
       via  cbb0284f68dcd44d6a585765783a39f762fd2810 (commit)
       via  3683a3558d2d83d5dcb4520303e51629e899d874 (commit)
      from  75f0eaeb57ad25fdaf95c4d52419b4852016ea4b (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/793fca23719c92b92d1c20e8b05cb603889b838a

commit 793fca23719c92b92d1c20e8b05cb603889b838a
Author: Michael Blocksome <blocksom at us.ibm.com>
Date:   Fri May 9 11:22:55 2014 -0500

    pamid: implement comm_split_type hook.

diff --git a/src/mpid/pamid/src/mpid_init.c b/src/mpid/pamid/src/mpid_init.c
index 2cd5b62..51ccd9b 100644
--- a/src/mpid/pamid/src/mpid_init.c
+++ b/src/mpid/pamid/src/mpid_init.c
@@ -326,6 +326,39 @@ static struct
 #endif
 };
 
+
+#undef FUNCNAME
+#define FUNCNAME split_type
+#undef FCNAME
+#define FCNAME MPIDI_QUOTE(FUNCNAME)
+static int split_type(MPID_Comm * comm_ptr, int stype, int key,
+                      MPID_Info *info_ptr, MPID_Comm ** newcomm_ptr)
+{
+    MPID_Node_id_t id;
+    int nid;
+    int mpi_errno = MPI_SUCCESS;
+
+    mpi_errno = MPID_Get_node_id(comm_ptr, comm_ptr->rank, &id);
+    if (mpi_errno) MPIU_ERR_POP(mpi_errno);
+
+    nid = (stype == MPI_COMM_TYPE_SHARED) ? id : MPI_UNDEFINED;
+    mpi_errno = MPIR_Comm_split_impl(comm_ptr, nid, key, newcomm_ptr);
+    if (mpi_errno) MPIU_ERR_POP(mpi_errno);
+
+  fn_exit:
+    return mpi_errno;
+
+    /* --BEGIN ERROR HANDLING-- */
+  fn_fail:
+    goto fn_exit;
+    /* --END ERROR HANDLING-- */
+}
+
+static MPID_CommOps comm_fns = {
+    split_type
+};
+
+
 /* ------------------------------ */
 /* Collective selection extension */
 /* ------------------------------ */
@@ -1194,6 +1227,8 @@ int MPID_Init(int * argc,
   char *world_tasks;
   pami_result_t rc;
 
+  /* Override split_type */
+  MPID_Comm_fns = &comm_fns;
 
   /* ------------------------------------------------------------------------------- */
   /*  Initialize the pami client to get the process rank; needed for env var output. */

http://git.mpich.org/mpich.git/commitdiff/cbb0284f68dcd44d6a585765783a39f762fd2810

commit cbb0284f68dcd44d6a585765783a39f762fd2810
Author: Michael Blocksome <blocksom at us.ibm.com>
Date:   Fri May 9 11:34:10 2014 -0500

    pamid: fix bgq 'is_local_task' extension bug.

diff --git a/src/mpid/pamid/src/pamix/pamix.c b/src/mpid/pamid/src/pamix/pamix.c
index 1d399b1..78fb4c6 100644
--- a/src/mpid/pamid/src/pamix/pamix.c
+++ b/src/mpid/pamid/src/pamix/pamix.c
@@ -293,7 +293,7 @@ PAMIX_is_local_task_get_node_info(pami_task_t  task,
         coords[1] * info->size[0] +
         coords[2] * info->size[0] * info->size[1] +
         coords[3] * info->size[0] * info->size[1] * info->size[2] +
-        coords[1] * info->size[0] * info->size[1] * info->size[2] * info->size[3];
+        coords[4] * info->size[0] * info->size[1] * info->size[2] * info->size[3];
 
       *max_nodes = info->size[0] * info->size[1] * info->size[2] * info->size[3] * info->size[4];
 

http://git.mpich.org/mpich.git/commitdiff/3683a3558d2d83d5dcb4520303e51629e899d874

commit 3683a3558d2d83d5dcb4520303e51629e899d874
Author: Michael Blocksome <blocksom at us.ibm.com>
Date:   Fri May 9 11:22:05 2014 -0500

    pamid: 'gracefully degrade' instead of error out when node info is not available

diff --git a/src/mpid/pamid/src/mpidi_util.c b/src/mpid/pamid/src/mpidi_util.c
index d6e3d84..aba5bb6 100644
--- a/src/mpid/pamid/src/mpidi_util.c
+++ b/src/mpid/pamid/src/mpidi_util.c
@@ -1918,13 +1918,20 @@ int MPID_Get_node_id(MPID_Comm *comm, int rank, MPID_Node_id_t *id_p)
   uint32_t node_id;
   uint32_t offset;
   uint32_t max_nodes;
-  if(!PAMIX_Extensions.is_local_task.node_info)
-    MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**notimpl");
 
-  pami_result_t rc = PAMIX_Extensions.is_local_task.node_info(comm->vcr[rank]->taskid,
-                                                              &node_id,&offset,&max_nodes);
-  if(rc != PAMI_SUCCESS)  MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**notimpl");
-  *id_p = node_id;
+  if(!PAMIX_Extensions.is_local_task.node_info)
+  {
+    *id_p = rank;
+  }
+  else
+  {
+    pami_result_t rc = PAMIX_Extensions.is_local_task.node_info(comm->vcr[rank]->taskid,
+                                                                &node_id,&offset,&max_nodes);
+    if(rc != PAMI_SUCCESS)
+      *id_p = rank;
+    else
+      *id_p = node_id;
+  }
 
   fn_fail:
   return mpi_errno;

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

Summary of changes:
 src/mpid/pamid/src/mpid_init.c   |   35 +++++++++++++++++++++++++++++++++++
 src/mpid/pamid/src/mpidi_util.c  |   19 +++++++++++++------
 src/mpid/pamid/src/pamix/pamix.c |    2 +-
 3 files changed, 49 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list