(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