well, but the point is, that the requirement I listed is explicitly
mentioned in the chapter about MPI_Reduce. So I would claim, that it
trumps (at least) the second citation. (BTW: I am pretty sure that I
remember having this discussion early in Open MPI days already :-) )
But maybe that's something for 2.1?
Thanks
edgar
George Bosilca wrote:
Well, well, well ... There is really no way to make everybody happy ...
When I did the previous commit (where I added the check), Tim Prins
pointed out the following 2 paragraphs from the MPI standard.
MPI-1.1 s4.9.1 (p113, line 28) says the recvbuf is "significant only
at root".
MPI-1.1 s2.2 (p7, line 7-9) and MPI-2 s2.3 (p7 line 1-3) have the
identical text:
"Another frequent situation arises when an argument value is needed
only by a subset of the processes. When an argument is not
significant at a process then an arbitrary value can be passed as
argument."
As you can see on the second paragraph, the standard claims that an
arbitrary value can be passed.
george.
On Feb 4, 2008, at 8:17 AM, Edgar Gabriel wrote:
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
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
------------------------------------------------------------------------
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
--
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