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: George Bosilca (bosilca_at_[hidden])
Date: 2008-02-04 13:20:00


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



  • application/pkcs7-signature attachment: smime.p7s