George,

I hate to say this, but I don't think that this is correct. Page 114 in MPI 1 says (in the section about MPI_Reduce)

"Thus, all processes provide input buffers and output buffers of the same length, with elements of the same time".

The content is only significant at the root, but all processes have to provide the buffer according to my understanding...

Thanks
Edgar

bosi...@osl.iu.edu wrote:
Author: bosilca
Date: 2008-02-03 20:44:41 EST (Sun, 03 Feb 2008)
New Revision: 17366
URL: https://svn.open-mpi.org/trac/ompi/changeset/17366

Log:
As the receive buffer is only significant at root, limit the
check only where it makes sense.

Text files modified: trunk/ompi/mpi/c/reduce.c | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-)

Modified: trunk/ompi/mpi/c/reduce.c
==============================================================================
--- trunk/ompi/mpi/c/reduce.c   (original)
+++ trunk/ompi/mpi/c/reduce.c   2008-02-03 20:44:41 EST (Sun, 03 Feb 2008)
@@ -59,9 +59,7 @@
             free(msg);
             return ret;
         } else if ((ompi_comm_rank(comm) != root && MPI_IN_PLACE == sendbuf) ||
-                   (ompi_comm_rank(comm) == root && MPI_IN_PLACE == recvbuf)) {
-            err = MPI_ERR_ARG;
-        } else if( sendbuf == recvbuf ) {
+                   (ompi_comm_rank(comm) == root && ((MPI_IN_PLACE == recvbuf) 
|| (sendbuf == recvbuf)))) {
             err = MPI_ERR_ARG;
         } else {
             OMPI_CHECK_DATATYPE_FOR_SEND(err, datatype, count);
_______________________________________________
svn mailing list
s...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/svn

--
Edgar Gabriel
Assistant Professor
Parallel Software Technologies Lab      http://pstl.cs.uh.edu
Department of Computer Science          University of Houston
Philip G. Hoffman Hall, Room 524        Houston, TX-77204, USA
Tel: +1 (713) 743-3857                  Fax: +1 (713) 743-3335

Reply via email to