From 570bbea5e0333578f484b92e65fee8bce3fca702 Mon Sep 17 00:00:00 2001 From: Edgar Gabriel Date: Mon, 17 Mar 2008 19:42:18 +0000 Subject: [PATCH] fixing the allgather problem reported on the mailing list. The problem was that at one locatin we had the local-size instead of the remote size as a receive argument. This commit was SVN r17849. --- ompi/mca/coll/basic/coll_basic_allgather.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ompi/mca/coll/basic/coll_basic_allgather.c b/ompi/mca/coll/basic/coll_basic_allgather.c index 59da3f0c5c..bee2e8418d 100644 --- a/ompi/mca/coll/basic/coll_basic_allgather.c +++ b/ompi/mca/coll/basic/coll_basic_allgather.c @@ -192,12 +192,13 @@ mca_coll_basic_allgather_inter(void *sbuf, int scount, */ if (rank != root) { /* post the recv */ - err = MCA_PML_CALL(recv(rbuf, size * rcount, rdtype, 0, + err = MCA_PML_CALL(recv(rbuf, rsize * rcount, rdtype, 0, MCA_COLL_BASE_TAG_ALLGATHER, comm, MPI_STATUS_IGNORE)); if (OMPI_SUCCESS != err) { goto exit; } + } else { /* Send the data to every other process in the remote group * except to rank zero. which has it already. */ @@ -209,6 +210,7 @@ mca_coll_basic_allgather_inter(void *sbuf, int scount, if (OMPI_SUCCESS != err) { goto exit; } + } err = ompi_request_wait_all(rsize - 1, reqs, MPI_STATUSES_IGNORE);