[Coarray-ts] Collectives

Bill Long longb at cray.com
Wed May 30 08:58:29 EDT 2012

On 5/30/12 7:47 AM, N.M. Maclaren wrote:
> On May 30 2012, John Reid wrote:
>> I believe that collectives are less controversial than teams. Here is
>> a suggested requirement:
>> C1. Collective subroutines offer the possibility of substantially more
>> efficient execution of reduction operations than would be possible by
>> non-expert programmers. Corresponding routines are widely used in MPI
>> programs. For flexibility, there should be a subroutine based on a
>> user-written procedure that applies the required operation to a local
>> scalar or array. In addition, because they are often needed, there
>> should be special functions for SUM, MAX, and MIN. Beyond this, there
>> should be a procedure for broadcasting values.
> Yes and no. I agree that the word "subroutine" is appropriate, because
> even function-like collectives don't match Fortran functions well. But
> I am not convinced where the boundary should be drawn. I would change
> "should be special functions" to "might be special functions".

I agree there is possible confusion here.  In the general case, the 
collective itself is a subroutine (see first two words of the 
paragraph), but the "user-written procedure" would be a function, 
probably an elemental function.  For the SUM, MAX, and MIN cases, there 
would be no actual "function'' - it would be incorporated into the 
collective internals.   Maybe "specific collective subroutines for 
SUM..." would be clearer above.

> However, the major one is whether the collectives should include any
> equivalents to the MPI_All... ones - experience shows that they are a
> key to performance, so they should not be lightly discarded.

The current proposal that was in a paper for the Munich meeting (11-193) 
specifies these routines as having an optional argument with a value 
equal to the image getting the result.  If this is present, then only 
that image gets the result.  If it is omitted, then ALL of the 
participating images get the result.  I think this covers the MPI_ALL... 
case, which I agree is important.  For a requirement, it could be 
simplified to "Forms that provide the result to just one image or to all 
images should be provided."


> Regards,
> Nick.
> Regards,
> Nick.
> _______________________________________________
> Coarray-ts mailing list
> Coarray-ts at j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/coarray-ts

Bill Long                                           longb at cray.com
Fortran Technical Support    &                 voice: 651-605-9024
Bioinformatics Software Development            fax:   651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101

More information about the Coarray-ts mailing list