[MPI3 Fortran] (j3.2006) (SC22WG5.3886) [ukfortran] [MPI3 Fortran] MPI non-blocking transfers

Aleksandar Donev donev1 at llnl.gov
Thu Jan 22 11:57:25 CST 2009

On Thursday 22 January 2009 09:10, Bill Long wrote:

> If we use a different name, like
> ASYNC_EXTERNAL, is there any difference between that and VOLATILE?  I
> suspect not.
Yes, I explained this a long time ago, many times, but we go in circles 
For one thing, VOLATILE has some ill-defined semantics.
For two, VOLATILE disables all optimization. ASYNCHRONOUS only disables 
code motion accross waits and certain argument associations (such as 
more care with copy in/out). The rest of the code can be optimized as 
usual. Surely this is important for a high-performance library like 

> The other is that it incorrectly suggests that MPI calls
> have something to do with I/O which is not the case (except for the
> actual MPI I/O calls
And I already explained this a long time ago, and even quoted you the 
Wikipedia definition of I/O. But if you care not to listen, that is 
fine, let's continue going in circles.


More information about the mpiwg-fortran mailing list