[Mpi3-rma] MPI-3 UNIFIED model clarification
Pavan Balaji
balaji at mcs.anl.gov
Sun Aug 4 09:09:02 CDT 2013
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 <jedbrown at mcs.anl.gov> wrote:
> Pavan Balaji <balaji at mcs.anl.gov> 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.
More information about the mpiwg-rma
mailing list