<div dir="ltr">Hi JB,<div><br></div><div>The GNI provider uses XPMEM for large intra-node message transfers.  Short messages are still routed through the GNI SMSG path hence the relatively high latency compared to say, psm2 intra-node.</div><div><br></div><div>Howard</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Do., 10. Sept. 2020 um 15:36 Uhr schrieb Biddiscombe, John A. <<a href="mailto:biddisco@cscs.ch">biddisco@cscs.ch</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div>


<div dir="ltr">
<div id="gmail-m_-7044774518000076998x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif">
<p>Thanks Sean, I guess assumed that I'd have to handle the case myself, however it shouldn't be too hard to enable a shared memory provider, then use a dedicated endpoint for ranks known to be on the same node. After quickly looking again at the docs, I see
 that I missed <em>GNI_XPMEM_ENABLE</em> for the GNI backend, so I'll play with that and see if it makes a difference.</p>
<p><br>
</p>
<p>Cheers</p>
<p><br>
</p>
<p>JB<br>
</p>
</div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_-7044774518000076998x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Hefty, Sean <<a href="mailto:sean.hefty@intel.com" target="_blank">sean.hefty@intel.com</a>><br>
<b>Sent:</b> 10 September 2020 19:22:06<br>
<b>To:</b> Biddiscombe, John A.; <a href="mailto:libfabric-users@lists.openfabrics.org" target="_blank">libfabric-users@lists.openfabrics.org</a><br>
<b>Subject:</b> RE: Multiple ranks/instances on the same node</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt">
<div>> If I have multiple processes (ranks) on the same node, and they send messages to each<br>
> other. Does libfabric auto-magically do the right thing and use some kind of shared<br>
> memory for them. If not - can this be enabled by using one of the shared memory<br>
> providers (in conjunction with the gni provider for example) - and if this is the case,<br>
> does one need to use a special endpoint to communicate within node - or will that be<br>
> handled automatically.<br>
<br>
The answer is provider specific.  For example, psm/psm2 will use shared memory.  Other providers will not. (I'm not sure about gni).  A generic solution is unlikely.  Shared memory support must be integrated on a provider by provider basis to support proper
 tag matching semantics.  Ideally, at least rxm and rxd would integrate shared memory support.  There's just a developer resource shortage to make that happen.<br>
<br>
- Sean<br>
</div>
</span></font>
</div>

_______________________________________________<br>
Libfabric-users mailing list<br>
<a href="mailto:Libfabric-users@lists.openfabrics.org" target="_blank">Libfabric-users@lists.openfabrics.org</a><br>
<a href="https://lists.openfabrics.org/mailman/listinfo/libfabric-users" rel="noreferrer" target="_blank">https://lists.openfabrics.org/mailman/listinfo/libfabric-users</a><br>
</blockquote></div>