(j3.2006) Integration of co-arrays with the intrinsic shift functions

Aleksandar Donev donev1
Thu Jul 12 17:54:12 EDT 2007

On Thursday 12 July 2007 13:15, Craig Rasmussen wrote:

> I have identified at least one code at Los Alamos that implements
> global shift functions (nearly identical to the co_cshift and
> co_eoshift intrinsics proposed in the paper) in MPI.
I haven't thought much about circular shifts. A comment that may be relevant: 
You say "Array variables (without the
explicit index notation) naturally allow the programmer to think of a
co-array as a global data structure with data-parallel operations
applied across all co-array elements on all images."

If one does want to look at co-arrays as a global structure (which we do not 
as far as the standard is concerned), they should be thought of as "arrays" 
of "global rank" that is the sum of the rank and co-rank (even this is a bit 
of a stretch as the arrays can have "holes"). So a co-array declared (2,3)[4] 
can be thought of as an array declared with (2,3,4). Any co_shift et al. 
operations should, imho, be consistent with such a view and the existing 
shift intrinsics.


Aleksandar Donev, Ph.D.
Lawrence Postdoctoral Fellow @ LLNL
High Performance Computational Materials Science and Chemistry
E-mail: donev1 at llnl.gov
Phone: (925) 424-6816  Fax: (925) 423-0785
Address: P.O.Box 808, L-367, Livermore, CA 94551-9900
Web: http://cherrypit.princeton.edu/donev

More information about the J3 mailing list