[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: next ballot
On Wed, Oct 24, 2001 at 01:40:45PM -0500, William Gropp wrote:
> >
> >Item 7:
> >
> >Drop rationale (or at least the last sentence, "Extentding it...")
>
> I'd rather leave in the rationale (more information is better than less),
> though I'm open to alternate wordings.
>
Considering what you say below, I don't agree with the rationale.
MPI_REPLACE could be very useful with user-defined datatypes to
implement simultaneous put's by many processes to the same locations
in target window. (this is also why I thought the last sentence should be
dropped)
>
> >Drop the preceeding lines 6-10 on p. 120 (they are confusing, and seem
> >to say that with MPI_Accumulate the predefined op's can also be used with
> >certain user-defined datatypes. This is probably not intended!?)
>
> It was intended that MPI_Accumulate be used with predefined ops on derived
> datatypes. For example, an indexed datatype with MPI_REPLACE allows
> MPI_Accumulate to perform a scatter operation (with different atomicity
> than MPI_PUT). Dropping lines 6-10 would significantly change the standard
> as written.
>
I thought/feared that it was intended that MPI_Accumulate can be
used with special derived datatypes. But this is quite a significant
extension of the predefined op's - and why should this then be limited
only to MPI_Accumulate?
I think this needs some clarification/discussion (or am I the only
one who's confused here?). There are at least the following possibilities
1. Predefined op's, including MPI_REPLACE, behaves uniformly (ie. for
Reduce and Accumulate), and can only be used with predefined datatypes
2. Predefined op's, including MPI_REPLACE behaves uniformly, and can
be used with predefined datatypes and certain user-defined
datatypes as described on p.120
3. MPI_REPLACE behaves as all other predefined op's. For Reduce etc. the
predefined op's can only be used with predefined datatypes, but
for MPI_Accumulate they are extended to work on certain user-defined
datatypes as described on p. 120
4. MPI_REPLACE is special. Other predefined op's are as in 3, but
MPI_REPLACE is defined for all datatypes (predefined and user-defined)
4 seems to be what the standard says now (ie. before correction 7).
Correction 7 clarifies in the direction of 3. I think the better choices
are either 1 or 2.
What do others think about this issue?
> Bill
Jesper