(j3.2006) question about co-array definition and synchronization
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
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