(j3.2006) co-array variable

Bill Long longb
Thu May 31 13:42:25 EDT 2007

Craig Rasmussen wrote:

>Could you please tell me what you mean by atomic in terms of the  
>standard.  I searched for atomic and it didn't come up.  I worry  
>about trying to equate scalar with atomic operations, but perhaps  
>that wasn't your point.

It is probably better to avoid the use of "atomic" here since there is a 
widely used concept of "atomic memory operations" which is different. 
AMO's have been discussed as an addition to Fortran, but not accepted, 
so far.

If you have a volatile variable, it is understood that it might be 
changed by some agent not visible to the local execution context.  Thus, 
any reference needs to effectively involve a reload from memory, as 
opposed to using a copy held in a register.  The underlying assumption 
for volatile is that the memory system operations are sufficiently 
serialized that the load from memory will always get either the old 
value or the new value, and not some bits from one and the remaining 
bits from the other, at least on the granularity of a numeric storage 
unit.     The only thing new with co-arrays is that the "agent not 
visible to the local execution context" could be a definition of the 
variable by a different image.


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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://j3-fortran.org/pipermail/j3/attachments/20070531/03155054/attachment.html 

More information about the J3 mailing list