[mpiwg-rma] Inconsistency of MPI_WIN_FENCE semantic

Rajeev Thakur thakur at mcs.anl.gov
Tue Feb 25 22:10:15 CST 2014


The second sentence refers to case where there are a sequence of fences

Fence
Fence
Put 
Fence

The second fence above need not be a barrier particularly if it had a NOPRECEDE.


Note that in a fence-put-fence you are allowed to do a barrier in the first fence, but you are not required to. You can do a deferred mode where the first fence is a no-op, all RMA ops are queued, and everything is done in the second fence and determining that all processes have reached there.

Rajeev



On Feb 25, 2014, at 9:48 PM, "Balaji, Pavan" <balaji at anl.gov>
 wrote:

> 
> Besides, the second sentence says, if MPI_MODE_NOPRECEDE is given, it’ll not act as a barrier.
> 
> What’s the necessity for that if WIN_FENCE does not act as a barrier even when MPI_MODE_NOPRECEDE is not given.
> 
>  — Pavan
> 
> On Feb 25, 2014, at 9:38 PM, Balaji, Pavan <balaji at anl.gov> wrote:
> 
>> 
>> In practice, it’ll need to have barrier semantics.  Otherwise, PUT will need to be a two-sided operation to ensure that it’s not issued before the other process calls MPI_WIN_FENCE.
>> 
>> — Pavan
>> 
>> On Feb 25, 2014, at 9:21 PM, Rajeev Thakur <thakur at mcs.anl.gov> wrote:
>> 
>>>> (1) On P440-P441 it say that "RMA operations on win started by a process after the fence call returns will access their target window only after MPI_WIN_FENCE has been called by the target process". This requires MPI_WIN_FENCE that starts an epoch to act as an barrier.
>>> 
>>> It only says "RMA operations on win started by a process after the fence call returns will access their target window only after MPI_WIN_FENCE has been called by the target process".   NOT   "This requires MPI_WIN_FENCE that starts an epoch to act as an barrier."
>>> 
>>> Why does the fence have to act as a barrier. The handshake could be done when first RMA operation is called after the fence.
>>> 
>>> Rajeev
>>> 
>>> 
>>> On Feb 25, 2014, at 8:41 PM, "Zhao, Xin" <xinzhao3 at illinois.edu> wrote:
>>> 
>>>> Hi all,
>>>> 
>>>> There is an inconsistency of MPI_WIN_FENCE semantic in MPI 3.0 Standard that makes me confused:
>>>> 
>>>> (1) On P440-P441 it say that "RMA operations on win started by a process after the fence call returns will access their target window only after MPI_WIN_FENCE has been called by the target process". This requires MPI_WIN_FENCE that starts an epoch to act as an barrier.
>>>> 
>>>> (2) However, (1) contradict with the word at end of P441: "a call to MPI_WIN_FENCE that is known not to end any epoch (in particular a call with assert equal to MPI_MODE_NOPRECEDE) does not necessarily act as a barrier".
>>>> 
>>>> Should the word of (1) add: "when MPI_MODE_NOPRECEDE is not given"?
>>>> 
>>>> Thanks,
>>>> 
>>>> Xin
>>>> 
>>>> _______________________________________________
>>>> mpiwg-rma mailing list
>>>> mpiwg-rma at lists.mpi-forum.org
>>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma
>>> 
>>> _______________________________________________
>>> mpiwg-rma mailing list
>>> mpiwg-rma at lists.mpi-forum.org
>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma
>> 
>> _______________________________________________
>> mpiwg-rma mailing list
>> mpiwg-rma at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma
> 
> _______________________________________________
> mpiwg-rma mailing list
> mpiwg-rma at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma




More information about the mpiwg-rma mailing list