(j3.2006) (SC22WG5.3660) [ukfortran] N1755: Request for new features from MPI Forum
Aleksandar Donev
donev1
Tue Nov 11 16:46:17 EST 2008
Nick,
> Consider code like the following:
>
> INTEGER, ASYNCHRONOUS :: fred
> fred = 0
> SYNC MEMORY
> Nothing that uses fred
> SYNC MEMORY
> ... = fred
>
> With your proposal, the compiler has to assume that fred may have changed.
> Currently, it does not.
Wouldn't adding a new attribute ASYNC_EXTERNAL or some such fix this? This is
one of the options mentioned.
> Consider the restrictions on VOLATILE arguments (e.g. no VALUE and no
> INTENT(IN), and the proposal to require it to be set in all scopes or
> none). How many of those would you need to add to ASYNCHRONOUS in order to
> close loopholes opened by your proposal?
Most of those restrictions apply to *both* VOLATILE and ASYNCHRONOUS (see
Clause 12). If they don't, it is probably an existing bug in the standard!
> This one is very simple, anyway. As far as the program is concerned, MPI
> transfers are semantically just a specialised form of I/O. Does anyone
> seriously dispute that?
I am not, obviously I proposed to extend the already existing mechanisms we
have for async Fortran I/O to cover user-defined data transfers.
Best,
Aleks
More information about the J3
mailing list