[MPI3 Fortran] Proposing changes to Fortran 2008
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