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."
> Coarray-ts mailing list
> Coarray-ts at j3-fortran.org
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