(j3.2006) Integration of co-arrays with the intrinsic shift functions
Craig Rasmussen
crasmussen
Tue Jul 17 13:00:37 EDT 2007
On Jul 16, 2007, at 5:26 PM, Aleksandar Donev wrote:
> Craig,
>
>> We should actually
>> integrate co-arrays into the Fortran language and define SUM so that
>> it takes a co-array as an arguments.
> SUM already takes co-arrays as arguments. Co-arrays when referenced
> on the
> image in question are just like normal arrays. You'll have to come
> up with
> something more specific than this. Just make sure you don't break
> generic
> resolution for SUM or break the old serial SUM along the way. Also,
> SUM is a
> function, and so now we would have an intrinsic function with side-
> effects
> (synchronization).
>
Point taken regarding the CO_ prefix. I assume it is too difficult
to do SUM given that co-array reference is really a normal array. I
assume this means that one can never overload procedures on co-array
and array arguments.
What is the problem with synchronization occurring in CO_ functions?
>> It is simply amazing to me that
>> there is not a reduction intrinsic on a co-array that returns a
>> scalar of the sum of all of the elements of a co-array.
> If this is deemed useful we can add it to the existing CO_SUM by
> allowing
> RESULT to be a scalar even if the rank of the co-array argument is
> larger
> than zero. It sounds reasonable to me. BTW, the basic definition of
> CO_SUM
> has been in the draft for a long time...nothing secret about it.
>
I'm not sure how necessary it is. I need to do more research. I
know that 9% of all MPI calls in the NAS Parallel Benchmarks are
reductions. I'll have to look and see if they reduce to a scalar.
I'm also talking with the Cray authors of "Global-View Abstractions
for User-Defined Reductions and Scans" on Thursday and Friday. I'll
ask them what they think.
Regards,
Craig
More information about the J3
mailing list