Re: [Mpi3-rma] MPI-3 UNIFIED model clarification
Yes, that's one way of fixing this. Another way is to add a third memory model that is in between SEPARATE and UNIFIED, that requires WIN_SYNC. Sent from my iPad On Aug 4, 2013, at 9:03 AM, Jed Brown <[email protected]> wrote:
Pavan Balaji <[email protected]> writes:
I guess the question here is -- when can the target process read the data written by the origin process? In the separate model, the answer is simple -- we do the necessary synchronization and then do a WIN_SYNC to synchronize the two windows. In the unified model, it's unclear since the user does not need to a WIN_SYNC.
This is lack of clarity in the standard, but I think not lack of clarity in practice (to a user familiar with memory fences), provided that certain functions (like MPI_Win_sync) contain suitable memory fences.
I don't think it's worth talking about x86 specifically. Rather, I would define semantics in terms of a weak memory model (C11 or Alpha/Linux kernel). On architectures with stronger memory models, some fences become no-ops, but that doesn't have to be discussed in the standard.
participants (1)
-
Pavan Balaji