[MPI3 Fortran] Proposed solution for the volatile buffer problem
longb at cray.com
Wed Jan 14 17:41:22 CST 2009
Aleksandar Donev wrote:
> Bill Long wrote:
>> If you modify the asynchronous attribute to be effective at every
>> call boundary, rather than just at wait statements
> No one proposed that. I proposed that only SYNC MEMORY be identified
> as a special boundary, Nick proposed some new intrinsics for that
Both seem more heavy handed than a subroutine prefix. In addition, SYNC
MEMORY has other side effects that will affect performance.
>> It would be much better (and less confusing) to come up with a
>> different attribute name for what you want.
> Sure, if you'd like. But there still needs to be an attribute. Just
> identifying the culprit CALL statement is not enough---this seems to
> me what the argument was about.
Remember the goal - to prevent code motion across the CALL. Identifying
the CALL, almost by definition, is enough - it is just overkill. I
covers all variables, including the ones you want to tag. The price of
simplicity. The optimal solution would be to have both, and preferably
use the same keyword for the attribute and subroutine prefix.
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