[MPI3 Fortran] MPI buffer arguments - void and call-by-reference
Jeff Squyres
jsquyres at cisco.com
Tue Feb 17 14:55:26 CST 2009
On Feb 17, 2009, at 3:08 PM, Craig Rasmussen wrote:
> This means that actual argument associated with the dummy argument
> buf, can be an array or scalar of any type. If it is an array, it
> can have any rank. The major impact to the MPI implementation is
> that the buf argument will be passed by descriptor.
Two knee-jerk questions:
1. Is there a standard layout / struct / whatever for this
descriptor? Or does it vary by compiler? (I really hope you answer
"yes" to the first question...)
2. Is the descriptor available via C, or only available via Fortran?
(meaning: does the MPI wrapper function *have* to be written in
Fortran? I really hope you answer "yes, it's available in C"...)
> I think using TYPE(*) and DIMENSION(..) is an excellent solution for
> MPI 3.0. The advantages are:
>
> 1. Current user code won't have to change beyond using the MPI3
> module.
Remember that we wanted to make Fortran MPI handles just like C
handles, so users will need to change that as well. It won't just be
s/use mpi/use mpi3/g.
--
Jeff Squyres
Cisco Systems
More information about the mpiwg-fortran
mailing list