<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Thank you both. I am accustomed to having to have buffers pre-posted for all unexpected (untagged) messages so I was pleasantly surprised that someone buffered the tagged message for me. I will explore this functionality more.</p>
<p><br>
</p>
<p>JB<br>
</p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Hefty, Sean <sean.hefty@intel.com><br>
<b>Sent:</b> 16 March 2020 17:53:12<br>
<b>To:</b> Chris Dolan; Biddiscombe, John A.<br>
<b>Cc:</b> libfabric-users@lists.openfabrics.org<br>
<b>Subject:</b> RE: [libfabric-users] Tagged message question</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">>        Who provided the memory that the received message went into between being<br>
> received and my posting the recv buffer? Did libfabric supply some memory buffer 'on<br>
> the fly' that the tagged message went into?<br>
<br>
Adding to Chris' comments, these are known as 'unexpected messages'.  They are a common MPI problem and nearly impossible to avoid, even for well-designed apps.<br>
<br>
Most commonly available hardware lack the ability to perform tag matching.  As a result, rxm buffers all receives before deciding how to process it.  If you're using RDM endpoints, there's really no additional cost for using tagged transfers, versus untagged.<br>
<br>
If the transfer is large, it won't complete immediately and the buffering will occur on the send side.  Only the tagged information will be transferred.  Once the receiver posts a receive with the correct tag, the data will be retrieved.<br>
<br>
- Sean<br>
</div>
</span></font>
</body>
</html>