[MPI3 Fortran] Proposed solution for the volatile buffer problem
Bill Long
longb at cray.com
Wed Jan 14 17:18:12 CST 2009
Aleksandar Donev wrote:
> On Wednesday 14 January 2009 14:54, Bill Long wrote:
>
>> 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.
>>
> Nick and I both have claimed, and still claim, that this is no different
> from ASYNCHRONOUS I/O done in Fortran. If there are additional issues
> they exist for both fortran I/O and external data transfer.
> Aleks
>
>
Well, of course you can both be wrong. :) The main difference is
exactly the question I asked above. With asynchronous, we have a WAIT
statement in the language which specifically points to the line in the
program across which tainted code should not move. With MPI, there is
no identification of the boundaries, so you either make such an
identification (my proposal), or you have to assume every call is
suspect - the point above. If you modify the asynchronous attribute to
be effective at every call boundary, rather than just at wait
statements, then you have inflicted an unnecessary performance hit on
its intended use with I/O. It would be much better (and less confusing)
to come up with a different attribute name for what you want.
Cheers,
Bill
--
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
mailing list