[MPI3 Fortran] WG mission statement / bullets

N.M. Maclaren nmm1 at cam.ac.uk
Thu Sep 3 17:08:22 CDT 2009


On Sep 3 2009, Aleksandar Donev wrote:
>On Thursday 03 September 2009, Bill Long wrote:
>
>>> Following discussions at the last J3 meeting, we are seriously
>> considering changing the rules to disallow this combination of BLOCK
>> and VOLATILE (and ASYNCHRONOUS).
>
>Since some of us were not at the meeting (and I have yet to make it to 
>reading the papers), can you explain to us what the problem is?

I can't say what was discussed, but I have raised issues in this area,
so I can give a reply of sorts, though the issues I am concerned
about may not be exactly the same.

Consider what it means for a variable X with the VOLATILE attribute
to be associated with a variable Y without it.  The problem arises
when both X and Y are in procedures in the active call chain, or one
is in a module and the other is in the active call chain.  X can
change at any time and all changes to it are immediately visible
(in some sense), but the same is not true for Y.  Yet they are
associated!  It makes no sense whatsoever.

I am not sure why Bill mentions ASYNCHRONOUS, as the main loophole
that I know of is when a pending I/O storage sequence affector (with
the ASYNCHRONOUS attribute) is passed as an argument to a procedure
without it that does not actually use the argument!  Currently, that
is not actually excluded, but will not work if copy-in/copy-out is
used.  It wouldn't be hard to close this particular loophole.

Regards,
Nick Maclaren.





More information about the mpiwg-fortran mailing list