[MPI3 Fortran] ASYNC attribute
Craig Rasmussen
crasmussen at newmexicoconsortium.org
Wed May 6 16:21:47 CDT 2009
On May 6, 2009, at 7:21 AM, Bill Long wrote:
>
>
> Jeff Squyres wrote:
>> 1. How does the MPI_Wait know that it can have no code motion with
>> respect to buf?
>
> The declaration for buf should have been REAL,ASYNC ......
> (ASYNC_EXTERNAL was an earlier spelling). Motion of code involving
> an ASYNC variable would be suppressed across any call except to an
> intrinsic procedure that is known by the compiler to be "safe".
>>
>> 2. Yes, the MPI_Request argument to MPI_Wait is inout.
>
> Question: Is MPI_Request actually a Fortran derived TYPE, or is it
> just a KIND value for an INTEGER? I had thought that all of these
> flag and handle-like arguments were treated as integers in the
> Fortran interface. Making it an actual defined type would have some
> advantages, but would that cause a problem with existing codes?
>
Right, user code would have to change in the MPI-3 interfaces. This
does create a problem regarding the naming of the MPI module. We had
discussed leaving the module name alone. So both MPI-2 and MPI-3
would use the same module name, ie,
use MPI
I don't see how the module name can be the same and just a "quality of
implementation" issue. I think we have to say,
use MPI3
I don't want to give up using derived types for things like
TYPE(MPI_Comm), unless the implementers are happy using integers.
-craig
More information about the mpiwg-fortran
mailing list