[Mpi3-rma] Conflicting accesses

Underwood, Keith D keith.d.underwood at intel.com
Thu Dec 16 12:49:06 CST 2010


> > Ewww...  yeah, I think that should work.  Would this also work?  It
> > might be cheaper and easier to program than the barrier...
> I would suspect that barrier is the easiest for average programmers.

Yes, but an asynchronous code might have trouble figuring out when it was appropriate to barrier...

> > Rank 0:
> > (addr 42 starts as 0)
> > MPI_Put(rank=1, addr=0, size=1912)
> > MPI_Flush(rank=1)
> > MPI_Accumulate(rank=1, addr=42, MPI_REPLACE, 1)
> > MPI_Flush(rank=1)
> >
> > Rank 1:
> > while (temp == 0) {MPI_GetAccumulate(rank=1, addr=42, &temp);
> MPI_Flush(rank=1);}
> > MPI_Get(rank=1, addr=12)
> 
> Yes, that should work but would poll on address 42 (many messages).
> (You
> are aware that the accumulate address overlaps with the Put buffer,
> which is ok here but might be unexpected).

Brain glitch - making MPI_Put long was a last minute change ;-)  Yeah, I didn't intend to make those overlap.

Keith




More information about the mpiwg-rma mailing list