[MPI3 Fortran] Proposed solution for the volatile buffer problem
longb at cray.com
Wed Jan 14 16:54:59 CST 2009
Aleksandar Donev wrote:
>> Secondly, a compiler is allowed to assume that unreferenced parts of an
>> array are invariant, and so may copy more than it needs to - which can
>> sometimes be a lot faster.
> OK, that's a good point in argument of explicitly marking variables
> that get changed behind the scenes instead of relying on some form of
> implicit assumptions.
Keep in mind the problem we're trying to solve here. It is to prevent
computations involving the "marked" variables from being moved by the
compiler across a CALL to the wait routine. So, what is the proposal
for marked variables (which don't appear as arguments to the relevant
routines - the ultimate source of the problem)? Are they temporarily
volatile across every procedure reference? How would the compiler deal
with a pointer that is associated with one of the marked variables? It
seems like there will be a lot of text, in addition to a new
attribute/statement to get this to work.
Bill Long longb at cray.com
Fortran Technical Support & voice: 651-605-9024
Bioinformatics Software Development fax: 651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120
More information about the mpiwg-fortran