Re: [Mpi3-rma] Conflicting PUT/GET accesses clarification
On Apr 27, 2011, at 5:12 PM CDT, James Dinan wrote:
Logically, I would think of this as two concurrent (conflicting) updates to the same location. The MPI implementation could detect and avoid a problem. The same goes for two conflicting puts; the MPI implementation can also detect and avoid the problem but we define it to be erroneous.
How is this defined for send/recv? I think I looked it up once and found that it was an error in that case.
It's explicitly disallowed for receive operations (MPI-2.2 p.102): ----8<---- A datatype may specify overlapping entries. The use of such a datatype in a receive operation is erroneous. (This is erroneous even if the actual message received is short enough not to write any entry more than once.) ----8<---- And there's a similar passage for MPI_Reduce (MPI-2.2 p.164) disallowing this sort of thing in the recv buffer: ----8<---- Overlapping datatypes are permitted in �send� buffers. Overlapping datatypes in �re- ceive� buffers are erroneous and may give unpredictable results. ----8<---- There might be other instances of this sort of prohibition elsewhere in the standard, but I haven't looked for them. -Dave
participants (1)
-
Dave Goodell