[MPI3 Fortran] [Fwd: Library-based ASYNCHRONOUS I/O and SYNC MEMORY]
Iain Bason
Iain.Bason at Sun.COM
Tue Sep 9 08:27:32 CDT 2008
On Sep 9, 2008, at 8:19 AM, Dan Nagle wrote:
> Personally (and others may differ), I believe the main issue
> is to better document what happens with asynchronous modifications
> to actual arguments after the initiating routine has returned.
> Generally, this is surprising to a standards conforming program.
Clearly the MPI_IRECV/MPI_WAIT pair violates the Fortran standard. As
such, it is not just surprising but impossible to document what
happens with asynchronous modifications in a standards conforming
program.
The question is, what level of precision do we require the language to
embody when we're describing asynchronous modifications? The C
approach is to assume that any variable whose address has been passed
to another function may be modified by any function call. That's a
pretty broad brush, but still doesn't capture the fact that the
variable may be modified during execution of any code until the call
to MPI_WAIT.
> If a compiler (even one at some time in the future)
> can use the information profitably, so much the better.
> But the main issue, to me at least, is to document,
> *in the program*, what is expected to happen. Having this
> information in the source file helps the applications writer,
> the applications maintainer, and any code checking tools
> brought to bear.
I have to echo Jeff's question: why isn't the human-readable
documentation in the MPI standard sufficient for the applications
writer and maintainer? As for code checking tools, do you have an
example of the kind of code checking you envision?
Iain
More information about the mpiwg-fortran
mailing list