[MPI3 Fortran] [ukfortran] (SC22WG5.3890) (j3.2006) [MPI3 Fortran] MPI non-blocking transfers
malcolm at nag-j.co.jp
Thu Jan 22 18:28:02 CST 2009
Bill Long wrote:
> The one difference (from the compiler's point of view) is that the
> volatility of a variable with the asynchronous attribute can be
> "turned off" when the compiler sees a global WAIT.
There is no such thing as a global WAIT. WAIT requires a
file-unit-number - see C938 "A <file-unit-number> shall be specified in
a <wait-spec-list>". Unless the compiler can see all the references to
a variable (something that is sometimes the case but rather frequently
not!) it will not know what unit the i/o is being performed on (and if
it can see the references and knows the unit, it probably knows the ID=
and can track that too).
As has been pointed out, there are many differences between ASYNCHRONOUS
and VOLATILE (that the "volatility" can be turned off as soon as the
compiler reaches any calculation involving the variable is a much bigger
difference than the WAIT case), but this is not one of them.
.....................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the mpiwg-fortran