<div dir="ltr">Hi Nick,<div><br></div><div>I've just gotten around to updating the ticket with feedback from the June meeting.  My apologies, the ticket was way out of sync with the progress on this issue.  I'm hopeful that the new proposal text addresses your concerns with respect to segmented and tagged architectures:</div>
<div><br></div><div><a href="https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/349">https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/349</a><br></div><div><br></div><div style>The solution you described is similar to "proposed solution #2" on the ticket, which won't work for Fortran, because Fortran lacks the unsigned integers we would need for the MPI_Disp type.</div>
<div style><br></div><div style> ~Jim.</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 17, 2013 at 8:03 AM, N.M. Maclaren <span dir="ltr"><<a href="mailto:nmm1@cam.ac.uk" target="_blank">nmm1@cam.ac.uk</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">On Jul 16 2013, Jim Dinan wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I apologize for the long-delayed follow-up from our last meeting on how to<br>
handle the MPI Aint arithmetic ticket (tt #349).  At the last meeting, we<br>
all agreed that this is an important fix that we would like to get out<br>
ASAP, but we weren't sure how to do it.  I wanted to resume that discussion<br>
on the mailing list to get broader feedback and help move the discussion<br>
along in between meetings, if we can.<br>
</blockquote>
<br></div>
This isn't about the procedure, but about the proposed solution. I think that it is a serious mistake, and merely compounds the problems caused by MPI_BOTTOM. The simplest resolution would be that the conversion functions would take a window argument, as well, and that the Aint/address/displacement were required to be associated with that window. E.g.:<br>

<br>
   int MPI_Get_disp(const void *location, MPI_Disp *disp, MPI_Win win);<br>
   int MPI_Aint_to_disp(MPI_Aint aint, MPI_Disp *disp, MPI_Win win);<br>
   int MPI_Disp_to_aint(MPI_Disp disp, MPI_Aint *aint, MPI_Win win);<br>
<br>
The point here is that even C still supports segmented and tagged memory architectures. Currently, they are in abeyance, but they still exist and they may return to the mainstream any time. The wording in the C (and even C++) standard is phrased the way it is specifically to allow for such things. Fortran, of course, has always supported them, and more.<br>

<br>
<br>
Regards,<br>
Nick Maclaren.<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
______________________________<u></u>_________________<br>
mpi-forum mailing list<br>
<a href="mailto:mpi-forum@lists.mpi-forum.org" target="_blank">mpi-forum@lists.mpi-forum.org</a><br>
<a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum" target="_blank">http://lists.mpi-forum.org/<u></u>mailman/listinfo.cgi/mpi-forum</a><br>
</div></div></blockquote></div><br></div>