[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