[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