Skip to content

Commit

Permalink
Fix iallgather problem with intercommunicators
Browse files Browse the repository at this point in the history
A problem was found with the libnbc MPI_Iallgather
routine when using intercommunicators.  Special
thanks to Takahiro Kawashima(Fujitsu) for the patch
and a test case.  Verified master fails without the
patch and the test passes with the patch applied.

fixes open-mpi#219
  • Loading branch information
hppritcha committed Oct 2, 2014
1 parent 8ded59c commit bb65835
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions ompi/mca/coll/libnbc/nbc_iallgather.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ int ompi_coll_libnbc_iallgather(void* sendbuf, int sendcount, MPI_Datatype sendt
res = NBC_Sched_recv(rbuf, false, recvcount, recvtype, r, schedule);
if (NBC_OK != res) { printf("Error in NBC_Sched_recv() (%i)\n", res); return res; }
/* send to rank r - not from the sendbuf to optimize MPI_IN_PLACE */
res = NBC_Sched_send(sbuf, false, recvcount, recvtype, r, schedule);
res = NBC_Sched_send(sbuf, false, sendcount, sendtype, r, schedule);
if (NBC_OK != res) { printf("Error in NBC_Sched_send() (%i)\n", res); return res; }
}
}
Expand Down Expand Up @@ -174,7 +174,7 @@ int ompi_coll_libnbc_iallgather_inter(void* sendbuf, int sendcount, MPI_Datatype
if (NBC_OK != res) { printf("Error in NBC_Sched_recv() (%i)\n", res); return res; }

/* send to rank r */
res = NBC_Sched_send(sendbuf, false, recvcount, recvtype, r, schedule);
res = NBC_Sched_send(sendbuf, false, sendcount, sendtype, r, schedule);
if (NBC_OK != res) { printf("Error in NBC_Sched_send() (%i)\n", res); return res; }
}

Expand Down

0 comments on commit bb65835

Please sign in to comment.