<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none"><!-- P { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Everyone,<br>
</p>
<p><br>
</p>
<p>Here are the changes based on feedback from today. ​There are quite a few changes but overall it is far less text than we had before. I'd appreciate any feedback and any other sets of eyes on this for a sanity check.<br>
</p>
<p><br>
</p>
<p>Thanks,<br>
</p>
<p>Ryan<br>
</p>
<div style="word-wrap:break-word; line-break:after-white-space">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> HOLMES Daniel <d.holmes@epcc.ed.ac.uk><br>
<b>Sent:</b> Tuesday, May 28, 2019 7:32 PM<br>
<b>To:</b> Anthony Skjellum; Grant, Ryan Eric (-EXP)<br>
<b>Cc:</b> MPI WG Persistence working Group<br>
<b>Subject:</b> [EXTERNAL] Re: [mpiwg-persistence] Notes from WG meeting 28th May 2019</font>
<div> </div>
</div>
<div>Hi all,
<div class=""><br class="">
</div>
<div class="">After further discussion, one of the answers has changed.</div>
<div class=""><br class="">
</div>
<div class="">
<blockquote type="cite" class="">Question: how does datatype describe complex layouts?<br class="">
Answer: it does not - it is the same as I/O with eType == xfer_type and fileType == contig<br class="">
<div class=""></div>
</blockquote>
<div class="">
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
<br class="">
</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
New answer: the {count, datatype} tuple specifies the type map for a single partition; that interpretation of the proposed parameters permits a straightforward generalisation to MPI_Psendv_init and MPI_Psendw_init, which allow the type map to be different for
 each partition. For MPI_Psendv_init, the count parameter becomes an array of counts (of length equal to the numPartitions parameter) that gives the type map for the Nth partition via an implicit MPI_Type_contiguous(count_array[N], xfer_type) construction.
 For MPI_Psendw_init, both the count and data type parameters become arrays (of length equal to the numPartitions parameter) that give the type map for the Nth partition via an implicit MPI_Type_contiguous(count_array[N], type_array[N]) construction. The W
 version would benefit from an additional of displacements for the same reason as for the existing W functions in MPI. These extension functions permit arbitrary partitioning in future but require a change to the proposed special-case functions.</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
<br class="">
</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
Note: this new interpretation of the existing parameters for MPI_Psend_init and MPI_Precv_init avoids the possibility of the user giving a number of partitions that does not work with the {count, data type} tuple, e.g.</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
  numPartitions = 3</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
  count = 10</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
  datatype = MPI_Type_contiguous(100, MPI_DOUBLE)</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
With the previous interpretation of the input parameters (i.e. the {count, data type} tuple specifies the type map for all partitions combined), this means MPI must try to divide 1000 doubles into 3 equally sized partitions, which leads to buffer under-run
 situations or to mandating some input combinations are erroneous.</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
With the new interpretation of the input parameters (i.e. the {count, data type} tuple specifies the type map for each partition), this means there are 3 partitions of 1000 doubles, i.e. 3000 doubles in total across all partitions.</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
<br class="">
</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
This is quite a fundamental change for a no-no vote, so it may result in the proposal being read (again) at the next face-to-face meeting.</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
<br class="Apple-interchange-newline">
Cheers,</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
Dan.</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
—<br class="">
Dr Daniel Holmes PhD<br class="">
Applications Consultant in HPC Research<br class="">
<a href="mailto:d.holmes@epcc.ed.ac.uk" class="">d.holmes@epcc.ed.ac.uk</a><br class="">
Phone: +44 (0) 131 651 3465<br class="">
Mobile: +44 (0) 7940 524 088<br class="">
Address: Room 2.09, Bayes Centre, 47 Potterrow, Central Area, Edinburgh, EH8 9BT</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
—</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.</div>
<div class="" style="color:rgb(0,0,0); font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; orphans:auto; text-align:start; text-indent:0px; text-transform:none; white-space:normal; widows:auto; word-spacing:0px; word-wrap:break-word">
—</div>
</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 28 May 2019, at 18:27, Skjellum, Anthony <<a href="mailto:Tony-Skjellum@utc.edu" class="">Tony-Skjellum@utc.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="auto" class="">Cool — all seem fixable :-) <br class="">
<br class="">
<div dir="ltr" class="">Anthony Skjellum, PhD
<div class="">
<div class="">205-807-4968</div>
<div class=""><br class="">
</div>
</div>
</div>
<div dir="ltr" class=""><br class="">
On May 28, 2019, at 4:25 PM, HOLMES Daniel via mpiwg-persistence <<a href="mailto:mpiwg-persistence@lists.mpi-forum.org" class="">mpiwg-persistence@lists.mpi-forum.org</a>> wrote:<br class="">
<br class="">
</div>
<blockquote type="cite" class="">
<div dir="ltr" class="">Hi Ryan,
<div class=""><br class="">
</div>
<div class="">Here are my notes from the WG meeting today:</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
Define channel - for all usages throughout the spec (existing and proposed).<br class="">
<br class="">
Example: use variables for tag, dest, etc parameters in the Psend_init call<br class="">
Example: use variables for tag, dest, etc parameters in the Precv_init call<br class="">
<br class="">
Example: typo for MPI_Pstart - should be MPI_Start and should not end with brace<br class="">
<br class="">
Example: typo for &xfer_type in the Psend_init call - use just xfer_type instead<br class="">
Example: typo for &xfer_type in the Precv_init call - use just xfer_type instead<br class="">
Example: typo for &request and &i in the Pready call - use just request and i instead<br class="">
Example: typo for &part in the Pwait call - use just part instead<br class="">
<br class="">
Question: can partitioned receive match with any other send than the partitioned send it matched with during initialisation? No.<br class="">
<br class="">
Question: how does datatype describe complex layouts?<br class="">
Answer: it does not - it is the same as I/O with eType == xfer_type and fileType == contig<br class="">
<br class="">
Suggestion: add an MPI_Info parameter to both MPI_Psend_init and MPI_Precv_init<br class="">
<br class="">
Example: typo for amp parallel for (the for is missing)<br class="">
<br class="">
Example: tasks need to use different values for i in Pready<br class="">
<br class="">
Suggestion: mandate exactly one call to Pready for each partition between start and wait<br class="">
<br class="">
Suggestion: partition parameters must be consistent - either int or MPI_Count</div>
<div class=""><br class="">
</div>
<div class="">Note: there is room for (and potential use-cases for) Psendv_init (Pavan’s case) and Psendw_init (Rich’s case)<br class="">
<div class="">
<div class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
<br class="Apple-interchange-newline">
Cheers,</div>
<div class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
Dan.</div>
<div class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
—<br class="">
Dr Daniel Holmes PhD<br class="">
Applications Consultant in HPC Research<br class="">
<a href="mailto:d.holmes@epcc.ed.ac.uk" class="">d.holmes@epcc.ed.ac.uk</a><br class="">
Phone: +44 (0) 131 651 3465<br class="">
Mobile: +44 (0) 7940 524 088<br class="">
Address: Room 2.09, Bayes Centre, 47 Potterrow, Central Area, Edinburgh, EH8 9BT</div>
<div class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
—</div>
<div class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.</div>
<div class="" style="font-family:Helvetica; font-size:12px; font-style:normal; font-weight:normal; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; word-wrap:break-word; line-break:after-white-space">
—</div>
</div>
<br class="">
</div>
</div>
</blockquote>
<blockquote type="cite" class="">
<div dir="ltr" class=""><span class="">_______________________________________________</span><br class="">
<span class="">mpiwg-persistence mailing list</span><br class="">
<span class=""><a href="mailto:mpiwg-persistence@lists.mpi-forum.org" class="">mpiwg-persistence@lists.mpi-forum.org</a></span><br class="">
<span class=""><a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-persistence" class="">https://lists.mpi-forum.org/mailman/listinfo/mpiwg-persistence</a></span><br class="">
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</body>
</html>