[MPI3 Fortran] Proposed solution for the volatile buffer problem

Bill Long 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 
> purpose.

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.


> Aleks

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