<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Jeff, thanks so much for opening up these old wounds.  I’m not sure I have enough context to contribute to the discussion.  Where can I read up on the issue with MPI_Aint?</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m glad to hear that C signed integers will finally have a well-defined representation.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">~Jim.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Jeff Hammond <jeff.science@gmail.com><br>
<b>Date: </b>Thursday, October 24, 2019 at 7:03 PM<br>
<b>To: </b>"Jeff Squyres (jsquyres)" <jsquyres@cisco.com><br>
<b>Cc: </b>MPI BigCount Working Group <mpiwg-large-counts@lists.mpi-forum.org>, "Dinan, James" <james.dinan@intel.com><br>
<b>Subject: </b>Re: [Mpiwg-large-counts] Large Count - the principles for counts, sizes, and byte and nonbyte displacements<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Jim (cc) suffered the most in MPI 3.0 days because of AINT_DIFF and AINT_SUM, so maybe he wants to create this ticket.
</p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Jeff</p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Thu, Oct 24, 2019 at 2:41 PM Jeff Squyres (jsquyres) <<a href="mailto:jsquyres@cisco.com">jsquyres@cisco.com</a>> wrote:</p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Not opposed to ditching segmented addressing at all.  We'd need a ticket for this ASAP, though.
</p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">This whole conversation is predicated on:</p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">- MPI supposedly supports segmented addressing</p>
</div>
<div>
<p class="MsoNormal">- MPI_Aint is not sufficient for modern segmented addressing (i.e., representing an address that may not be in main RAM and is not mapped in to the current process' linear address space)</p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If we no longer care about segmented addressing, that makes a whole bunch of BigCount stuff a LOT easier.  E.g., MPI_Aint can basically be a non-segment-supporting address integer.  AINT_DIFF and AINT_SUM can go away, too.</p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Oct 24, 2019, at 5:35 PM, Jeff Hammond via mpiwg-large-counts <<a href="mailto:mpiwg-large-counts@lists.mpi-forum.org" target="_blank">mpiwg-large-counts@lists.mpi-forum.org</a>> wrote:</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Rolf: </p>
<div>
<p class="MsoNormal"><br>
Before anybody spends any time analyzing how we handle segmented addressing, I want you to provide an example of a platform where this is relevant.  What system can you boot today that needs this and what MPI libraries have expressed an interest in supporting it?</p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">For anyone who didn't hear, ISO C and C++ have finally committed to twos-complement integers (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0907r1.html" target="_blank">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0907r1.html</a>, <a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2218.htm" target="_blank">http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2218.htm</a>)
 because modern programmers should not be limited by hardware designs from the 1960s.  We should similarly not waste our time on obsolete features like segmentation.</p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Jeff</p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Thu, Oct 24, 2019 at 10:13 AM Rolf Rabenseifner via mpiwg-large-counts <<a href="mailto:mpiwg-large-counts@lists.mpi-forum.org" target="_blank">mpiwg-large-counts@lists.mpi-forum.org</a>> wrote:</p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">> I think that changes the conversation entirely, right?<br>
<br>
Not the first part, the state-of-current-MPI.<br>
<br>
It may change something for the future, or a new interface may be needed.<br>
<br>
Please, can you describe how MPI_Get_address can work with the <br>
different variables from different memory segments.<br>
<br>
Or whether a completely new function or a set of functions is needed.<br>
<br>
If we can still express variables from all memory segments as <br>
input to MPI_Get_address, there may be still a way to flatten<br>
the result of some internal address-iquiry into a flattened<br>
signed integer with the same behavior as MPI_Aint today.<br>
<br>
If this is impossible, then new way of thinking and solution <br>
may be needed.<br>
<br>
I really want to see examples for all current stuff as you<br>
mentioned in your last email.<br>
<br>
Best regards<br>
Rolf<br>
<br>
----- Original Message -----<br>
> From: "Jeff Squyres" <<a href="mailto:jsquyres@cisco.com" target="_blank">jsquyres@cisco.com</a>><br>
> To: "Rolf Rabenseifner" <<a href="mailto:rabenseifner@hlrs.de" target="_blank">rabenseifner@hlrs.de</a>><br>
> Cc: "mpiwg-large-counts" <<a href="mailto:mpiwg-large-counts@lists.mpi-forum.org" target="_blank">mpiwg-large-counts@lists.mpi-forum.org</a>><br>
> Sent: Thursday, October 24, 2019 5:27:31 PM<br>
> Subject: Re: [Mpiwg-large-counts] Large Count - the principles for counts, sizes, and byte and nonbyte displacements<br>
<br>
> On Oct 24, 2019, at 11:15 AM, Rolf Rabenseifner<br>
> <<a href="mailto:rabenseifner@hlrs.de" target="_blank">rabenseifner@hlrs.de</a><mailto:<a href="mailto:rabenseifner@hlrs.de" target="_blank">rabenseifner@hlrs.de</a>>> wrote:<br>
> <br>
> For me, it looked like that there was some misunderstanding<br>
> of the concept that absolute and relative addresses<br>
> and number of bytes that can be stored in MPI_Aint.<br>
> <br>
> ...with the caveat that MPI_Aint -- as it is right now -- does not support<br>
> modern segmented memory systems (i.e., where you need more than a small number<br>
> of bits to indicate the segment where the memory lives).<br>
> <br>
> I think that changes the conversation entirely, right?<br>
> <br>
> --<br>
> Jeff Squyres<br>
> <a href="mailto:jsquyres@cisco.com" target="_blank">jsquyres@cisco.com</a><mailto:<a href="mailto:jsquyres@cisco.com" target="_blank">jsquyres@cisco.com</a>><br>
<br>
-- <br>
Dr. Rolf Rabenseifner . . . . . . . . . .. email <a href="mailto:rabenseifner@hlrs.de" target="_blank">
rabenseifner@hlrs.de</a> .<br>
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530 .<br>
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832 .<br>
Head of Dpmt Parallel Computing . . . <a href="http://www.hlrs.de/people/rabenseifner" target="_blank">
www.hlrs.de/people/rabenseifner</a> .<br>
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307) .<br>
_______________________________________________<br>
mpiwg-large-counts mailing list<br>
<a href="mailto:mpiwg-large-counts@lists.mpi-forum.org" target="_blank">mpiwg-large-counts@lists.mpi-forum.org</a><br>
<a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-large-counts" target="_blank">https://lists.mpi-forum.org/mailman/listinfo/mpiwg-large-counts</a></p>
</blockquote>
</div>
<p class="MsoNormal"><br clear="all">
</p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- </p>
<div>
<p class="MsoNormal">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></p>
</div>
<p class="MsoNormal">_______________________________________________<br>
mpiwg-large-counts mailing list<br>
<a href="mailto:mpiwg-large-counts@lists.mpi-forum.org" target="_blank">mpiwg-large-counts@lists.mpi-forum.org</a><br>
<a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-large-counts" target="_blank">https://lists.mpi-forum.org/mailman/listinfo/mpiwg-large-counts</a></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><br>
-- <br>
Jeff Squyres<br>
<a href="mailto:jsquyres@cisco.com" target="_blank">jsquyres@cisco.com</a> </p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><br clear="all">
</p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- </p>
<div>
<p class="MsoNormal">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></p>
</div>
</div>
</body>
</html>