[MPI3 Fortran] Proposing changes to Fortran 2008

Aleksandar Donev donev1 at llnl.gov
Wed Apr 2 11:54:56 CDT 2008

On Tuesday 01 April 2008 15:07, Hubert Ritzdorf wrote:

> The run-time error occurred for the version which performed copy-in/copy
> out. The usage of the compiler flag which avoids copy-in/copy out for that
> source file worked.
Yes, but you did not answer my question: What would happen with that compiler 
and that flag when copy in/out were actually required at run-time (i.e., the 
actual was not contiguous)? What would you want/expect to happen?

The point here is that we are talking about standardizing things, and the 
standard needs to explain exactly what happens for *all* source codes, not 
just your particular one which "worked".

> I am probably looking for an extension of the ASYNCHRONOUS (not VOLATILE)
Why not VOLATILE---is there a difference? The only difference, as far as I 
know, is that ASYNC is restricted to Fortran async I/O, and volatile for 
everyting "outside of the Fortran standard". Sounds to me like VOLATILE is 
exactly what you want. Unless you want somewhat different 
semantics/constraints (which is not presently the case---the only difference 
I know is that ASYNC attribute is implicitly given to variables involved in 
async I/O, while VOLATILE must be explicit).

The best thing would be for you (or whoever has specific ideas) to write a 
sample code that calls MPI_Isend, including the proposed interface for 
MPI_Isend, and explain what each of the proposed attributes/keywords means. 
Maybe that would bring some progress instead of going in circles. If it 
helps, assume that the buffer is a REAL array for now (i.e., separate the 
TKR-mismatch issue from the copy in/out issue).


More information about the mpiwg-fortran mailing list