(j3.2006) Integration of co-arrays with the intrinsic shift functions
Bill Long
longb
Fri Jul 13 10:59:17 EDT 2007
Time to step back and look at the big picture here...
Aleksandar Donev wrote:
> Craig Rasmussen wrote:
>
>
>> So your co-array A(2,3)[4] is a virtual V(2,12) array.
>>
> OK. Why not V(8,3)?
>
>
>> If it
>> were declared A(2,3)[2,2], then it would be a virtual V(4,6) array.
>>
> What if it is A(3)[5,6,7]? Is it a V(15,6,7) virtual array? I am trying
> to understand what you are doing here---the total rank is the max of the
> rank and co-rank?
>
Co-arrays basically provide two facilities: a simple and efficient way
to access data on a different image, and ways to enforce execution order
between images. That's about it. There is no prescription about what
the data objects on different images mean or are part of. If Craig
wants to partition a conceptually global array across images ala a data
parallel programming model, that's fine. If Aleks wants to think of the
co-dimensions as additional planes in a higher dimension array, that's
also fine. The important point is that co-arrays prescribes neither
view, it just provides a means to implement either. I've written code
using Craig's model, and it worked quite well for that problem. Most of
the time I employ a third approach. This is the underlying power of
co-arrays. Because it is fundamentally low level, it is flexible enough
to be used for a wide range of problems and programming models.
Given the intent and design of co-arrays, I think that Craig's proposed
intrinsics are not a good idea. (Sorry, Craig). They are really only
useful in the context of a particular usage of co-arrays, namely this
HPF style view of data distribution. That sort of thing is a great idea
for a separate library, and these functions could be pretty easily
written using the existing co-array capabilities. Things like this
should not be enshrined in the standard.
Cheers,
Bill
--
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/20070713/8aa2fd3a/attachment.html
More information about the J3
mailing list