[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: next ballot
At 10:05 PM 10/24/2001 +0200, Jesper Larsson Traeff wrote:
>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?
Because MPI_Accumulate allows only predefined ops. This already introduces
an exception: not all MPI routines that accept MPI_Op accept user-defined
MPI_Op. Saying the MPI_Accumulate accepts only predefined MPI_Op but
allows conforming user-defined types is just a different restriction.
The more that I think about it, the more that I want to vote against
7. MPI_REPLACE should behave like the other predefined operations (your
option 3). For MPI-1 collective, it should apply only to predefined
datatypes. For MPI_Accumulate, it should be allowed for derived datatypes
whose basic elements are a single predefined type, just as for the other
predefined ops.
It is true that if we had thought about it, we might have chosen to extend
predefined MPI_Op's to the same datatypes allowed for MPI_Accumulate in
MPI_Reduce etc. I propose that we leave that for MPI-3 :)
Bill