[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.


>     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