<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<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);">
Hello MPICH friends,</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 style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Consider the simple two-rank MPI scenario:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<ul>
<li>Rank 1 is doing calculations and giving chunks of data to rank 0 using nonblocking sends and tag=0.</li><li><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">When rank 1 is finished, it will send it's last data (or no data) with tag=1. </span><br>
</li><li>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. <br>
</li></ul>
<div>Is it possible that rank 0 receives a tag=1 message when there are outstanding tag=0 messages?</div>
<div><br>
</div>
<div>Looking at section 3.5 of the MPI standard lets me know that</div>
<div><br>
</div>
<div>"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."</div>
<div><br>
</div>
<div>But I'm not sure if this applies to the above case. Is anytag "the same receive"? </div>
<div>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?</div>
<div>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? </div>
<div><br>
</div>
<div>Thank you for your help,<br>
</div>
<div>Jeff</div>
</div>
</body>
</html>