<div dir="ltr"><div>Keith's definition is not a definition in the sense of MPI semantics being "defined".  What he is proposing is to be pedantic about the fact that the user may want to rely upon implementation-defined behavior to realize the best performance or to avoid changing existing SHMEM code.</div>

<div><br></div><div>The MPI standard isn't defining something if it's not explicitly defined in the standard.  Therefore, it must be called "undefined".  If you or Keith want to call this "defined" behavior, then I'm going to insist that it be defined in the usual sense, which means the text of the standard will enumerate the behavior of MPI in an architecture-independent way.<div>

<br></div><div>Jeff</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 27, 2013 at 11:19 AM, Pavan Balaji <span dir="ltr"><<a href="mailto:balaji@mcs.anl.gov" target="_blank">balaji@mcs.anl.gov</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 08/27/2013 12:57 PM, Jeff Hammond wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The MPI standard will not define by what mechanism the SHMEM<br>
implementation will establish the necessary consistency.  This is what I<br>
mean by undefined = implementation-defined.  I do not think that Keith<br>
is proposing to enumerate all processor memory models and the<br>
appropriate fences required to achieve the affect of win_sync but at<br>
lower cost.  Thus, it is the implementation - or perhaps more<br>
accurately, the platform on which the implementation resides - that will<br>
define these semantics.<br>
</blockquote>
<br></div>
Here's what I understood from Keith --<br>
<br>
He wants a statement in the standard that says the application can do platform-specific memory consistency to synchronize the public and private windows in UNIFIED.<br>
<br>
I do agree that that's a very flimsy statement and doesn't really mean much.  But I'm calling it a definition, while I think you are saying that it's pretty much undefined.<br>
<br>
I like leaving it totally undefined better than the above "definition".<div class="HOEnZb"><div class="h5"><br>
<br>
 -- Pavan<br>
<br>
-- <br>
Pavan Balaji<br>
<a href="http://www.mcs.anl.gov/~balaji" target="_blank">http://www.mcs.anl.gov/~balaji</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a>
</div>