<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Aptos",sans-serif;
mso-ligatures:standardcontextual;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:307129188;
mso-list-type:hybrid;
mso-list-template-ids:-1663535512 -809842706 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-start-at:2;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Aptos",sans-serif;
mso-fareast-font-family:Aptos;
mso-bidi-font-family:"Times New Roman";}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l1
{mso-list-id:1060204928;
mso-list-type:hybrid;
mso-list-template-ids:-69424782 -694368614 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
{mso-level-start-at:0;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Aptos",sans-serif;
mso-fareast-font-family:Aptos;
mso-bidi-font-family:"Times New Roman";}
@list l1:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l1:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l1:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l1:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l1:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l1:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l1:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l1:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#467886" vlink="#96607D" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">05/13/2025<o:p></o:p></span></p>
<p class="MsoNormal"><b><u><span style="font-size:11.0pt">Participants:<o:p></o:p></span></u></b></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Alexia Ingerson (Intel)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Jianxin Xiong (Intel)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Charles Shereda (Cornelis)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Juee Desai (Intel)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Ken Raffenetti (ANL)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Peinan Zhang (Intel)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Sai Sunku (AWS)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Steve Welch (HPE)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><u><span style="font-size:11.0pt">Summary:<o:p></o:p></span></u></b></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Reminder to add any changes for 2.2.0 release – GA 6/15<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Discussion regarding updates to PR #10965 adding fi_rpc API. Some small API updates were discussed as well as added proof of concept implementation in rxm and an rpc test to validate the feature.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><u><span style="font-size:11.0pt">Notes:<o:p></o:p></span></u></b></p>
<p class="MsoNormal"><span style="font-size:11.0pt">2.2.0 release reminder<o:p></o:p></span></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l1 level1 lfo1"><span style="font-size:11.0pt">6/1 RC1<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l1 level1 lfo1"><span style="font-size:11.0pt">6/2 RC1<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l1 level1 lfo1"><span style="font-size:11.0pt">6/15 GA<o:p></o:p></span></li></ul>
<p class="MsoNormal"><span style="font-size:11.0pt">fi_rpc: API update (PR #10965)<o:p></o:p></span></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l0 level1 lfo2"><span style="font-size:11.0pt">Review of fi_rpc (summary below, see previous notes for in depth details)<o:p></o:p></span></li><ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">Sender sends rpc request, receiver sends response<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">New ops, new format, new capability<o:p></o:p></span></li></ul>
<li class="MsoNormal" style="mso-list:l0 level1 lfo2"><span style="font-size:11.0pt">Updates:<o:p></o:p></span></li><ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">Fi_cq_rpc_entry – added timeout as union to data but that limits rpc – can’t be used with CQ data. May be reverted.<o:p></o:p></span></li></ul>
<li class="MsoNormal" style="mso-list:l0 level1 lfo2"><span style="font-size:11.0pt">Added implemenation in rxm provider<o:p></o:p></span></li><ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">fi_rpc:<o:p></o:p></span></li><ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">rxm_get_conn<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">rpc_tag=rxm_next_rpc_tag()->atomic inc<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">util_srx_generic_trecv_no_lock: buf = resp_buf, tag = rpc_tag, flags |= FI_RPC<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">rxm_send_common: buf = req_buf, tag = rpc_tag, data = timeout, flags |= FI_RPC, op = ofi_op_msg<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">cancel recv if send fails<o:p></o:p></span></li></ul>
<li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">fi_rpc_resp:<o:p></o:p></span></li><ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">rxm_get_conn<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">rxm_send_common: tag = rcp_id, flags | =FI_RPC, op = ofi_op_tagged<o:p></o:p></span></li></ul>
<li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">fi_rpc_discard:<o:p></o:p></span></li><ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">no op<o:p></o:p></span></li></ul>
<li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">completions:<o:p></o:p></span></li><ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">FI_RPC flags is kept, tag = rpc_id, data = timeout<o:p></o:p></span></li></ul>
<li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">Stale response<o:p></o:p></span></li><ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">Rxm_handle_recv_comp/get_tag – ENOENT flag FI_RPC, drop stale response<o:p></o:p></span></li></ul>
<li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">Limitations:<o:p></o:p></span></li><ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">Currently tagged flow is not separate from RPC flow, not advised to mix usage of tag and FI_RPC. In the future can add separate queues<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l0 level3 lfo2"><span style="font-size:11.0pt">Timeout not handled<o:p></o:p></span></li></ul>
</ul>
<li class="MsoNormal" style="mso-list:l0 level1 lfo2"><span style="font-size:11.0pt">New test fi_rdm_rpc:<o:p></o:p></span></li><ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">Client sends 10 RPC requests using fi_rpc(), wait for RPC reponses and check for FI_RPC and FI_RECV flags<o:p></o:p></span></li><li class="MsoNormal" style="mso-list:l0 level2 lfo2"><span style="font-size:11.0pt">Server posts 10 receives, wait for completions and check for FI_RPC and FI_RECV flags. Send RPC responses in random order using fi_rpc_resp<o:p></o:p></span></li></ul>
</ul>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
</body>
</html>