[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