<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
If rank 0 is doing the probing, and rank 0 is doing a blocking receive immediately after a probe says rank 1 is waiting to send, then the fact that the probes return in order, means the data will complete in order, right?</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Thakur, Rajeev <thakur@anl.gov><br>
<b>Sent:</b> Monday, March 16, 2020 6:38 PM<br>
<b>To:</b> discuss@mpich.org <discuss@mpich.org><br>
<b>Cc:</b> Zhou, Hui <zhouh@anl.gov>; Larson, Jeffrey M. <jmlarson@anl.gov>; Hudson, Stephen Tobias P <shudson@anl.gov>; Navarro, John-Luke Nicolas <jnavarro@anl.gov><br>
<b>Subject:</b> Re: [mpich-discuss] In-order messages</font>
<div> </div>
</div>
<style>
<!--
@font-face
        {font-family:Wingdings}
@font-face
        {font-family:"Cambria Math"}
@font-face
        {font-family:Calibri}
@font-face
        {font-family:"Lucida Grande"}
@font-face
        {}
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif}
span.x_EmailStyle19
        {font-family:"Lucida Grande",sans-serif;
        color:windowtext}
.x_MsoChpDefault
        {font-size:10.0pt}
@page WordSection1
        {margin:1.0in 1.0in 1.0in 1.0in}
div.x_WordSection1
        {}
ol
        {margin-bottom:0in}
ul
        {margin-bottom:0in}
-->
</style>
<div lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="x_WordSection1">
<p class="x_MsoNormal"><span style="font-family:"Lucida Grande",sans-serif">Yes, the probes should return in order. The actual data transfer may complete out of order.</span></p>
<p class="x_MsoNormal"><span style="font-family:"Lucida Grande",sans-serif"> </span></p>
<p class="x_MsoNormal"><span style="font-family:"Lucida Grande",sans-serif">Rajeev</span></p>
<p class="x_MsoNormal"><span style="font-family:"Lucida Grande",sans-serif"> </span></p>
<div style="border:none; border-top:solid #B5C4DF 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal"><b><span style="font-size:12.0pt; color:black">From: </span>
</b><span style="font-size:12.0pt; color:black">"Zhou, Hui via discuss" <discuss@mpich.org><br>
<b>Reply-To: </b>"discuss@mpich.org" <discuss@mpich.org><br>
<b>Date: </b>Monday, March 16, 2020 at 6:03 PM<br>
<b>To: </b>"discuss@mpich.org" <discuss@mpich.org><br>
<b>Cc: </b>"Zhou, Hui" <zhouh@anl.gov>, "Larson, Jeffrey M." <jmlarson@anl.gov>, "Hudson, Stephen Tobias P" <shudson@anl.gov>, "Navarro, John-Luke Nicolas" <jnavarro@anl.gov><br>
<b>Subject: </b>Re: [mpich-discuss] In-order messages</span></p>
</div>
<div>
<p class="x_MsoNormal"> </p>
</div>
<p class="x_MsoNormal">Sorry, a typo. I meant “no more tag=0 messages is coming”.</p>
<p class="x_MsoNormal"> </p>
<div>
<div>
<div>
<p class="x_MsoNormal">-- <br>
Hui Zhou</p>
</div>
</div>
</div>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal"> </p>
<div style="border:none; border-top:solid #B5C4DF 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal"><b><span style="font-size:12.0pt; color:black">From: </span>
</b><span style="font-size:12.0pt; color:black">"Zhou, Hui via discuss" <discuss@mpich.org><br>
<b>Reply-To: </b>"discuss@mpich.org" <discuss@mpich.org><br>
<b>Date: </b>Monday, March 16, 2020 at 6:01 PM<br>
<b>To: </b>"discuss@mpich.org" <discuss@mpich.org><br>
<b>Cc: </b>"Zhou, Hui" <zhouh@anl.gov>, "Larson, Jeffrey M." <jmlarson@anl.gov>, "Hudson, Stephen Tobias P" <shudson@anl.gov>, "Navarro, John-Luke Nicolas" <jnavarro@anl.gov><br>
<b>Subject: </b>Re: [mpich-discuss] In-order messages</span></p>
</div>
<div>
<p class="x_MsoNormal"> </p>
</div>
<p class="x_MsoNormal">Experts out there, feel free to point out to me if my answer is wrong --<br>
<br>
Given the scenario described, my understanding leads to the answer to be affirmative. That is, if you got `tag=1` from the anytag probe, then you can be assured that no more `tag=1` messages that haven’t been recv’ed is coming.</p>
<p class="x_MsoNormal"> </p>
<div>
<div>
<div>
<p class="x_MsoNormal">-- <br>
Hui Zhou</p>
</div>
</div>
</div>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal"> </p>
<div style="border:none; border-top:solid #B5C4DF 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal"><b><span style="font-size:12.0pt; color:black">From: </span>
</b><span style="font-size:12.0pt; color:black">"Larson, Jeffrey M. via discuss" <discuss@mpich.org><br>
<b>Reply-To: </b>"discuss@mpich.org" <discuss@mpich.org><br>
<b>Date: </b>Thursday, March 12, 2020 at 12:46 PM<br>
<b>To: </b>"discuss@mpich.org" <discuss@mpich.org><br>
<b>Cc: </b>"Larson, Jeffrey M." <jmlarson@anl.gov>, "Navarro, John-Luke Nicolas" <jnavarro@anl.gov>, "Hudson, Stephen Tobias P" <shudson@anl.gov><br>
<b>Subject: </b>[mpich-discuss] In-order messages</span></p>
</div>
<div>
<p class="x_MsoNormal"> </p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">Hello MPICH friends,</span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">Consider the simple two-rank MPI scenario:</span></p>
</div>
<div>
<ul type="disc">
<li class="x_MsoNormal" style="color:black; background:white"><span style="font-size:12.0pt">Rank 1 is doing calculations and giving chunks of data to rank 0 using nonblocking sends and tag=0.</span></li><li class="x_MsoNormal" style="color:black; background:white"><span style="font-size:12.0pt">When rank 1 is finished, it will send it's last data (or no data) with tag=1. </span></li><li class="x_MsoNormal" style="color:black; background:white"><span style="font-size:12.0pt">Rank 0 is using probes to see when data is ready to be received. It receives with any tag, knowing when to stop receiving, or give new data when a tag=0 is received. </span></li></ul>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">Is it possible that rank 0 receives a tag=1 message when there are outstanding tag=0 messages?</span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">Looking at section 3.5 of the MPI standard lets me know that</span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">"Messages are non-overtaking: If a sender sends two messages in succession to the same destination, and both match the same receive, then this operation cannot receive
 the second message if the first one is still pending."</span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">But I'm not sure if this applies to the above case. Is anytag "the same receive"? </span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">If rank 1 puts data in its buffer, doesn't the network have to be used to communicate that to the buffer of rank 0?</span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">While rank 1 is putting data into its buffer in order, is it possible that a tiny tag=1 message is registered in the rank 0 buffer before a massive tag=0 message? </span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">Thank you for your help,</span></p>
</div>
<div>
<p class="x_MsoNormal" style="background:white"><span style="font-size:12.0pt; color:black">Jeff</span></p>
</div>
</div>
</div>
</div>
</body>
</html>