<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 16, 2017 at 2:24 AM, Simon Schwitanski <span dir="ltr"><<a href="mailto:simon.schwitanski@rwth-aachen.de" target="_blank">simon.schwitanski@rwth-aachen.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I have got a question about the atomicity of accumulate operations as<br>
described in 11.7.1. It says (page 461, lines 8 - 11):<br>
<br>
> The previous correctness conditions imply that a location updated by a<br>
> call to an accumulate operation cannot be accessed by a load or an RMA<br>
> call other than accumulate until the accumulate operation has completed<br>
> (at the target).<br>
<br>
I am a little bit confused about what this actually means: Does it mean<br>
that local load accesses on the target are (somehow) delayed if there is<br>
an ongoing accumulate operation to the same location? Or does it just<br>
mean that concurrent load accesses are forbidden and lead to undefined<br>
behavior? And why does this not hold for store accesses?<br>
<br></blockquote><div><br></div><div>The MPI standard does not specify how atomicity is implemented.  It can use hardware atomics or regular instructions with mutual exclusion.  Both of these serialize, but at different granularity.</div><div><br></div><div>The behavior of concurrency MPI_Accumulate and direct local access is not defined, although it is allowed.  If you want to read memory concurrently with an MPI_Accumulate, use MPI_Get_accumulate(MPI_NO_OP) or MPI_Fetch_op(MPI_NO_OP).</div><div><br></div><div>Jeff</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks!<br>
<br>
<br>
Simon<br>
______________________________<wbr>_________________<br>
mpiwg-rma mailing list<br>
<a href="mailto:mpiwg-rma@lists.mpi-forum.org">mpiwg-rma@lists.mpi-forum.org</a><br>
<a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma" rel="noreferrer" target="_blank">https://lists.mpi-forum.org/<wbr>mailman/listinfo/mpiwg-rma</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div>
</div></div>