[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2a2-114-ga3dd5f4

Service Account noreply at mpich.org
Thu Jan 22 11:29:39 CST 2015


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  a3dd5f401f3d038fd26eb6c93a7497566228213f (commit)
      from  7d59d14dd74072037b0daaa67612836974c0ff2b (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/a3dd5f401f3d038fd26eb6c93a7497566228213f

commit a3dd5f401f3d038fd26eb6c93a7497566228213f
Author: Wesley Bland <wbland at anl.gov>
Date:   Tue Jan 20 18:55:08 2015 -0600

    Fix for MPIX_COMM_AGREE to not return incorrect errors
    
    MPIX_Comm_agree should not return errors if the failed processes have
    all been acknowledged. Previously, it was returning errors
    unnecessarily, but this makes sure that the errcode is MPI_SUCCESS when
    appropriate.
    
    Signed-off-by: Huiwei Lu <huiweilu at mcs.anl.gov>

diff --git a/src/mpi/comm/comm_agree.c b/src/mpi/comm/comm_agree.c
index 9c5f669..e0b47d7 100644
--- a/src/mpi/comm/comm_agree.c
+++ b/src/mpi/comm/comm_agree.c
@@ -48,7 +48,7 @@ int MPIR_Comm_agree(MPID_Comm *comm_ptr, int *flag)
 
     /* First decide on the group of failed procs. */
     mpi_errno = MPID_Comm_get_all_failed_procs(comm_ptr, &global_failed, MPIR_AGREE_TAG);
-    if (mpi_errno) errflag = 1;
+    if (mpi_errno) errflag = MPIR_ERR_PROC_FAILED;
 
     mpi_errno = MPIR_Group_compare_impl(failed_grp, global_failed, &result);
     if (mpi_errno) MPIU_ERR_POP(mpi_errno);
diff --git a/src/mpid/ch3/src/mpid_comm_get_all_failed_procs.c b/src/mpid/ch3/src/mpid_comm_get_all_failed_procs.c
index 43a2faf..a991435 100644
--- a/src/mpid/ch3/src/mpid_comm_get_all_failed_procs.c
+++ b/src/mpid/ch3/src/mpid_comm_get_all_failed_procs.c
@@ -84,7 +84,7 @@ static MPID_Group *bitarray_to_group(MPID_Comm *comm_ptr, uint32_t *bitarray)
 #define FCNAME MPIU_QUOTE(FUNCNAME)
 int MPID_Comm_get_all_failed_procs(MPID_Comm *comm_ptr, MPID_Group **failed_group, int tag)
 {
-    int mpi_errno = MPI_SUCCESS;
+    int mpi_errno = MPI_SUCCESS, ret_errno;
     mpir_errflag_t errflag = MPIR_ERR_NONE;
     int i, j, bitarray_size;
     uint32_t *bitarray, *remote_bitarray;
@@ -113,9 +113,9 @@ int MPID_Comm_get_all_failed_procs(MPID_Comm *comm_ptr, MPID_Group **failed_grou
     if (comm_ptr->rank == 0) {
         for (i = 1; i < comm_ptr->local_size; i++) {
             /* Get everyone's list of failed processes to aggregate */
-            mpi_errno = MPIC_Recv(remote_bitarray, bitarray_size, MPI_UINT32_T,
+            ret_errno = MPIC_Recv(remote_bitarray, bitarray_size, MPI_UINT32_T,
                 i, tag, comm_ptr->handle, MPI_STATUS_IGNORE, &errflag);
-            if (mpi_errno) continue;
+            if (ret_errno) continue;
 
             /* Combine the received bitarray with my own */
             for (j = 0; j < bitarray_size; j++) {
@@ -127,9 +127,9 @@ int MPID_Comm_get_all_failed_procs(MPID_Comm *comm_ptr, MPID_Group **failed_grou
 
         for (i = 1; i < comm_ptr->local_size; i++) {
             /* Send the list to each rank to be processed locally */
-            mpi_errno = MPIC_Send(bitarray, bitarray_size, MPI_UINT32_T, i,
+            ret_errno = MPIC_Send(bitarray, bitarray_size, MPI_UINT32_T, i,
                 tag, comm_ptr->handle, &errflag);
-            if (mpi_errno) errflag = MPIR_ERR_PROC_FAILED;
+            if (ret_errno) continue;
         }
 
         /* Convert the bitarray into a group */

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

Summary of changes:
 src/mpi/comm/comm_agree.c                         |    2 +-
 src/mpid/ch3/src/mpid_comm_get_all_failed_procs.c |   10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list