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/793fca23719c92b92d1c20e8b05cb60388... commit 793fca23719c92b92d1c20e8b05cb603889b838a Author: Michael Blocksome <[email protected]> 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/cbb0284f68dcd44d6a585765783a39f762... commit cbb0284f68dcd44d6a585765783a39f762fd2810 Author: Michael Blocksome <[email protected]> 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/3683a3558d2d83d5dcb4520303e51629e8... commit 3683a3558d2d83d5dcb4520303e51629e899d874 Author: Michael Blocksome <[email protected]> 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