(j3.2006) question about co-array definition and synchronization

Bill Long longb
Thu Jun 21 12:23:58 EDT 2007

Aleksandar Donev wrote:

>In this sense, a co-array is just like an array, but with the difference that 
>it can be referenced or defined by other images directly. 


>The part about 
>there being a corresponding co-array on other images for every array may be 
>relaxed in future revisions (but it would sacrifice efficiency ala symmetric 

Just to clarify, it has been discussed to allow allocatable co-arrays, 
declared like (:)[*], to have different sizes on different images, or 
not be allocated at all  on some images.  This does involve the 
performance penalty noted by Aleks.  It was not included for these 
reasons (and maybe more):

1) The same effect can be accomplished with an allocatable component of 
a co-array.

2)  The performance issue is not clear to the user from reading 
statements involving remote references for an array declared like this. 
The usage looks the same as for an ordinary co-array.  ( "Performance 
visibility" is a hot button issue with certain government funding agencies.)

3) The overall co-array feature is not in need of additional complexity.

On the other hand, the idea of a non-allocatable co-array existing on 
some images and not others has never been considered, and really does 
not make sense in the model.   There is only one copy of the program's 
source code.  The same declarations apply to every 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


More information about the J3 mailing list