Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [OMPI svn] svn:open-mpi r17366
From: Edgar Gabriel (gabriel_at_[hidden])
Date: 2008-02-04 13:29:52


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
>>
>> bosilca_at_[hidden] 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
>>> svn_at_[hidden]
>>> 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
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> 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