<div dir="ltr">I agree with all of these comments, but a user is arguing that these requirements are not clear from the text, e.g. because the meaning of existence in "existing memory" is not defined.  It seems that what is obvious to us is not obvious to users.<div><div><div><div><br></div><div>Jeff</div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 2, 2018 at 12:54 PM, William Gropp <span dir="ltr"><<a href="mailto:wgropp@illinois.edu" target="_blank">wgropp@illinois.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Yes.  The r and l values must remain valid until the free.<div><br></div><div>Bill</div><div><span class=""><br><div>
<div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div style="word-wrap:break-word"><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">William Gropp<br>Director and Chief Scientist, NCSA<br>Thomas M. Siebel Chair in Computer Science<br>University of Illinois Urbana-Champaign</div><br class="m_-7488904098337738056Apple-interchange-newline"></div></div><br class="m_-7488904098337738056Apple-interchange-newline"></div><br class="m_-7488904098337738056Apple-interchange-newline"></div><br class="m_-7488904098337738056Apple-interchange-newline"><br class="m_-7488904098337738056Apple-interchange-newline">
</div>
<br></span><div><div class="h5"><div><blockquote type="cite"><div>On Jan 2, 2018, at 2:52 PM, Nathan Hjelm <<a href="mailto:hjelmn@mac.com" target="_blank">hjelmn@mac.com</a>> wrote:</div><br class="m_-7488904098337738056Apple-interchange-newline"><div>


<div><div><div style="font-family:SFNSText,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;font-style:normal;font-variant-caps:normal;font-weight:300;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">I would expect that the intent is also that the memory should not be freed/unmapped before the matching call to MPI_Win_free() correct?</div><div style="font-family:SFNSText,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;font-style:normal;font-variant-caps:normal;font-weight:300;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><br></div><div style="font-family:SFNSText,'Helvetica Neue',Helvetica,sans-serif;font-size:15px;font-style:normal;font-variant-caps:normal;font-weight:300;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">-Nathan</div></div><div><br>On Jan 02, 2018, at 01:19 PM, William Gropp <<a href="mailto:wgropp@illinois.edu" target="_blank">wgropp@illinois.edu</a>> wrote:<br><br></div><div><blockquote type="cite"><div class="m_-7488904098337738056msg-quote" style="word-wrap:break-word">It was certainly the intent that the memory be allocated.  Specifically, if a is the pointer and the region is of length L, then (assuming char *a and ) a[0] … a[L-1] must be valid r and l values at the point of the call.<div><br></div><div>Bill</div><div><br><div><div style="letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div style="letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div style="letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div style="word-wrap:break-word"><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">William Gropp<br>Director and Chief Scientist, NCSA<br>Thomas M. Siebel Chair in Computer Science<br>University of Illinois Urbana-Champaign</div></div></div></div></div></div><br><div><blockquote type="cite"><div>On Jan 2, 2018, at 1:52 PM, Jeff Hammond <<a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a>> wrote:</div><div><div dir="ltr">If a user passes a (base,size) pair that corresponds to a range of addresses that are not allocated and/or mapped, is that a correct MPI program?<br><br>The only text I can find that implies that buffers passed to MPI_Win_create have to be allocated is the following, assuming that one interprets "existing memory" this way.  <br><br>"Each process specifies a window of existing memory that it exposes to RMA accesses by the processes in the group of comm." (MPI 3.1 11.2.1)<br><br>The Fortran-specific text is similarly suggestive, but it only says that a user can pass a simply contiguous array, not that such a thing is required.<br><br>"In Fortran, one can pass the first element of a memory region or a whole array, which must be ‘simply contiguous’"<br><br>Thanks,<br><br>Jeff<br><br>--<br>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>______________________________<wbr>_________________<br>mpiwg-rma mailing list<br><a href="mailto:mpiwg-rma@lists.mpi-forum.org" target="_blank">mpiwg-rma@lists.mpi-forum.org</a><br><a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma" target="_blank">https://lists.mpi-forum.org/<wbr>mailman/listinfo/mpiwg-rma</a></div></blockquote></div><br></div><div class="m_-7488904098337738056_stretch"><span class="m_-7488904098337738056body-text-content">______________________________<wbr>_________________<br>mpiwg-rma mailing list<br><a href="mailto:mpiwg-rma@lists.mpi-forum.org" target="_blank">mpiwg-rma@lists.mpi-forum.org</a><br><a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma" target="_blank">https://lists.mpi-forum.org/<wbr>mailman/listinfo/mpiwg-rma</a></span></div></div></blockquote></div></div>______________________________<wbr>_________________<br>mpiwg-rma mailing list<br><a href="mailto:mpiwg-rma@lists.mpi-forum.org" target="_blank">mpiwg-rma@lists.mpi-forum.org</a><br><a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-rma" target="_blank">https://lists.mpi-forum.org/<wbr>mailman/listinfo/mpiwg-rma</a></div></blockquote></div><br></div></div></div></div><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></div></div></div></div>