<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hello Sean,</div><div class=""><br class=""></div><div class="">After spending some time playing with “control services” (fi_getinfo etc.), I concluded that all the “issues” I mentioned in the previous emails boiled down to the two following aspects:</div><div class=""><br class=""></div><div class="">1. the “verbs" provided seems to have a number of limitations (i.e., mismatches w.r.t. specification), whereas the “verbs;ofi_rxm" provider works in all cases I tested; in my code, I stress connectionless communication in the scenario of highly asynchronous processes (i.e., no initial handshake) with multiple node:port addresses for each process (i.e., multiple endpoints per domain);</div><div class=""><br class=""></div><div class="">2. from the documentation, it is quite hard (actually impossible for me) to understand how to bind an address to an endpoint; by looking at fabtests code and experimenting by myself, I concluded that the binding is realized either statically (at endpoint creation time, by passing a info structure where src_addr is set) or dynamically (by calling fi_setname); however, the documentation is at least vague about this aspect, for instance I could not find anything about the static binding.</div><div class=""><br class=""></div><div class="">If someone is still interested in debugging the verbs provider, I wrote some minimal tests ranging from a fabtests-equivalent pingpong to its multiple-endpoints-per-domain variant:</div><div class=""><a href="http://alpha.di.unito.it:8080/drocco/fabspikes" class="">http://alpha.di.unito.it:8080/drocco/fabspikes</a></div><div class="">All of them work with “sockets" and “verbs;ofi_rxm” providers, whereas the “verbs” provider fails in most cases.</div><div class=""><br class=""></div><div class="">Thank you again for your support :)</div><div class=""><br class=""></div>Maurizio<br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class="">---</div><div class="">Maurizio Drocco</div><div class="">PhD Candidate</div><div class="">University of Torino, department of Computer Science</div><div class="">Via Pessinetto 12, 10149 Torino - Italy</div></div></div>
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On 19 Jul 2017, at 17:47, Hefty, Sean <<a href="mailto:sean.hefty@intel.com" class="">sean.hefty@intel.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">Another issue that I experience with the verbs provider is that I am<br class="">not able to instantiate two endpoints to a single domain.<br class="">Starting from a code working correctly on verbs with a single endpoint<br class="">e0, if I create an additional endpoint e1 to the same domain as e0,<br class="">the code does not work anymore, even if I do not access e1 at all<br class="">after having created it. By “the code does not work”, I mean it stalls<br class="">on the first call to fi_recv.<br class=""><br class="">Should I add both mentioned issues to the GitHub issue tracker?<br class=""></blockquote><br class="">Yes, please open as many issues as you find. :)<br class=""><br class="">Note that the intent is to replace the verbs RDM endpoint support with the ofi-rdm provider, assuming it provides equivalent performance. So, we'd like to understand why the ofi-rdm;verbs combo doesn't work for you.<br class=""><br class="">- Sean<br class=""></div></div></blockquote></div><br class=""></body></html>