(j3.2006) Integration of co-arrays with the intrinsic shift functions
Thu Jul 12 17:14:12 EDT 2007
nOn Thu, 12 Jul 2007, Craig Rasmussen wrote:
> I've been talking to code developers and examining codes at Los
> Alamos and I've come across an area that we forgot to integrate with
> co-arrays. I've written a paper describing the issue but I'm unsure
> of how to submit it since this is a WG5 meeting.
> 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. This issue is
> very important to LANL as we are investing heavily in heterogeneous
> processor architectures and the data parallel programming model has
> been identified as one way to manage the complexity of the hardware.
> In summary, after thinking about how co-arrays can be used with
> Fortran's array notation, it seems to me that Fortran with the co-
> array additions can provide an ideal platform for a data-parallel
> style of programming.
Interesting. I got a mail from a guy the other day who was having
difficulties getting consistent results on an MPI calculation on a
This proposal takes that to a new level: If you are running a
calculation on a heterogeneous cluster it would be extremely easy to have
floating point numbers change slightly as they are shifted around on nodes
and this effect would be exacerbated by network and disk latencies. Of
course, the basic co-array spec implicitly allows this a little bit as it
is, but this is opening the door to many more unexpected perturbations of
I'm not saying that your proposal is without merit or shouldn't be
adopted, but you're moving into an area in which calculations will be
irreproducible from run to run.
More information about the J3