[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