From d78003659d222e44bf41d9e4902d19938ac2cc22 Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Fri, 15 Oct 2004 13:19:20 +0000 Subject: [PATCH] Minor fix for allreduce intercomm algorithm. This commit was SVN r3160. --- src/mca/coll/basic/coll_basic_allreduce.c | 32 ++++++++++++++--------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/mca/coll/basic/coll_basic_allreduce.c b/src/mca/coll/basic/coll_basic_allreduce.c index 22413b75b7..daf19d1ea3 100644 --- a/src/mca/coll/basic/coll_basic_allreduce.c +++ b/src/mca/coll/basic/coll_basic_allreduce.c @@ -138,9 +138,9 @@ int mca_coll_basic_allreduce_inter(void *sbuf, void *rbuf, int count, /***************************************************************************/ if ( rank == root ) { /* sendrecv between the two roots */ - err = mca_pml.pml_irecv (tmpbuf, count, dtype, 0, + err = mca_pml.pml_irecv (pml_buffer, count, dtype, 0, MCA_COLL_BASE_TAG_ALLREDUCE, - comm, &(reqs[rsize])); + comm, &(req[1])); if ( OMPI_SUCCESS != err ) { goto exit; } @@ -148,7 +148,11 @@ int mca_coll_basic_allreduce_inter(void *sbuf, void *rbuf, int count, err = mca_pml.pml_isend (rbuf, count, dtype, 0, MCA_COLL_BASE_TAG_ALLREDUCE, MCA_PML_BASE_SEND_STANDARD, comm, - &(reqs[0])); + &(req[0])); + if ( OMPI_SUCCESS != err ) { + goto exit; + } + err = ompi_request_wait_all (2, req, MPI_STATUSES_IGNORE); if ( OMPI_SUCCESS != err ) { goto exit; } @@ -158,20 +162,22 @@ int mca_coll_basic_allreduce_inter(void *sbuf, void *rbuf, int count, has already the correct data AND we avoid a potential deadlock here. */ - for ( i=1; i 1) { + for ( i=1; i