[MPI3 Fortran] [Interop-tr] [Mpi-forum] Comment on Fortran WG5 ballot N1846
Bill Long
longb at cray.com
Wed Apr 20 11:01:50 CDT 2011
On 4/20/11 4:35 AM, Rolf Rabenseifner wrote:
> Van and all Forum members,
>
> Why not including buf into the argument list of MPI_Wait?
>
> This was discussed already years ago:
> - In the split collective routines, we did this already in the
> original definition.
> - MPI_Wait is part of a set of routines with
> all having an array of request handles, i.e.,
> a set of such invisible buffers.
> For those routines, such one additional argument
> would not work.
> - You are right that it would work exactly for MPI_Wait and MPI_Test
> and if it is wanted by the MPI Forum,
> I can add two new Fortran routines
> MPI_Wait_f_sync_reg(buf,rq,ierror)
> MPI_Test_f_sync_reg(buf,rq,flag,ierror)
> - The question is, whether this duplication is necessary,
> because the problem can be solved with different methods,
> e.g., having buf as a module variable.
> In this case the additional overhead for producing
> the dope-vector for buf is not needed,
Having the buf variable in a module is an effective method of solving
the "code motion across the MPI_Wait call" problem. And probably a good
recommended practice anyway.
Craig also pointed out another reason for not including buf as an
argument to MPI_Wait. He argued, correctly, that the call to MPI_Wait
could be in a different program unit from the call to the
MPI_I{send/recv} call and, as a result, the name of buf might not be
visible at the point where MPI_Wait is called. To me this is a
definitive argument against a proposal to require buf in the MPI_Wait call.
Cheers,
Bill
> i.e., the existing MPI_Wait is the more efficient one.
>
> Comments from other members are highly appreciated.
>
> Best regards
> Rolf
>
--
Bill Long longb at cray.com
Fortran Technical Support & voice: 651-605-9024
Bioinformatics Software Development fax: 651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101
More information about the mpiwg-fortran
mailing list