[Mpi3-rma] mpi3-rma post from bradc at cray.com requires approval
balaji at mcs.anl.gov
Sat Jun 5 09:42:21 CDT 2010
On 05/30/2010 11:27 AM, Underwood, Keith D wrote:
> You are right, I should have chosen my words more carefully. I believe we tossed ordering on MPI_Put when we tossed atomicity.
> I don't think we ever got to the discussion of what ordering would be for the atomics. And, this is where life gets weird. I'm not positive that you need ordering for atomics, except that they are the MPI_Puts you would actually use when you needed ordering. So... I will go back to... all UPC needs is ordering from one source to one target address. I see three options:
> 1) Just define accumulates/get_accumulates to have the ordering that UPC needs
> 2) Default to the UPC ordering and allow an assert to relax that restriction. This would be consistent with how the current one-sided operations handle locks
> 3) Add some other call to handle ordering, but we wouldn't want some call that you had to call with EVERY put or anything... After all, all we need is relatively minimal ordering.
There's an option (4) similar to (2):
4) Default to unordered, and allow an assert to add ordering.
I believe we decided to use either (2) or (4) in the last meeting, but
didn't finalize on which one.
To me, (2) seems more logical since MPI's semantics have typically been:
use a conservative approach by default (ordered in this case), and allow
the application to assert that it can use a more relaxed mode as a
performance optimization (unordered).
More information about the mpiwg-rma