Re: [Mpi3-rma] current version of proposal
On 03/02/2011 01:48 PM, Barrett, Brian W wrote:
On 3/2/11 9:47 AM, "James Dinan"<[email protected]> wrote:
When we state that accumulates with the same operation are non-conflicting, should I be interpreting this as CAS is only non-conflicting with other CAS operations? This is a bit of a stretch since CAS doesn't take an op argument, but I suppose it's doable. Some text to help the reader make this connection for CAS would definitely help.
CAS is defined as an accumulate operation (pg 1, ln 38--41), so yes, CAS should be interpreted as a different operation than MPI_REPLACE or MPI_SUM or... I personally think this is obvious, but have no objection to an additional sentence in the accumulate_ops info key specifying this. I believe that's the only place in the current text where operation conflicts are discussed, but I could be wrong.
I think there are two ways to interpret the current text: 1. CAS defines a new accumulate op that can only be performed by MPI_Compare_and_swap, thus it is only non-conflicting with itself. 2. MPI_Compare_and_swap has a fixed op=MPI_REPLACE and it is non-conflicting with all other accumulate calls if op=MPI_REPLACE is given. Number 1 seems tricky to me because Get_accumulate with op=MPI_REPLACE does an unconditional SWAP. Number 2 seems to mesh better with existing accumulate operations, but do concurrent CAS, SWAP, and REPLACE operations play nice? ~Jim.
participants (1)
-
James Dinan