<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Intel's OPA doesn't include the old IB net discovery library/API; instead, they have their own library to enumerate nodes, links, etc.  I've started a rewrite of ye olde "ib2slurm" utility to make use of Intel's new enumeration library.<div class=""><br class=""></div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">     </span><a href="https://gitlab.com/jtfrey/opa2slurm" class="">https://gitlab.com/jtfrey/opa2slurm</a></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">E.g.</div><div class=""><br class=""></div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">$ opa2slurm --help</div><div class="">usage:</div><div class=""><br class=""></div><div class="">  opa2slurm {options}</div><div class=""><br class=""></div><div class="">  [HFI selection]</div><div class=""><br class=""></div><div class="">    -N, --hfi-name <hfi_name>    use the named HFI (e.g. hfi1_0)</div><div class="">    -n, --hfi-num <#>            use the HFI by integer index (0 = first active)</div><div class="">    -P, --hfi-port <#>           use the given port number on the HFI</div><div class="">    -G, --port-guid <guid>       use the port with the given GUID</div><div class="">                                 (e.g. 0x00117500d9000140)</div><div class=""><br class=""></div><div class="">  -o, --output <path>            write output topology configuration</div><div class="">                                 to the file at the given path</div><div class="">  -C, --no-comments              do not emit comments in the generated</div><div class="">                                 topology configuration</div><div class="">  -R, --no-ranged-lists          do not produce ranged name lists a'la SLURM</div><div class="">  -L, --linkspeed                include LinkSpeed values for switches</div>  -r, --no-redundancy-removal    do not remove references to non-leaf switches from<br class="">                                 leaf switches<div class="">  -v, --verbose                  display additional information to stderr</div><div class=""><br class=""></div><div class="">  [version 0.1]</div><div class=""><br class=""></div><div class="">$ opa2slurm --no-comments --linkspeed</div><div class="">SwitchName=r02-opa-s1 Switches=r00-opa-l[0-1],r01-opa-l[0-1],r02-opa-l0 LinkSpeed=16</div><div class="">SwitchName=r00-opa-l1 Nodes=r00n[25-56],r00oss0 LinkSpeed=16</div><div class="">SwitchName=r02-opa-s4 Switches=r00-opa-l[0-1],r01-opa-l[0-1],r02-opa-l0 LinkSpeed=16</div><div class="">SwitchName=r02-opa-s3 Switches=r00-opa-l[0-1],r01-opa-l[0-1],r02-opa-l0 LinkSpeed=16</div><div class="">SwitchName=r00-opa-l0 Nodes=r00n[00-24],r00oss1 LinkSpeed=16</div><div class="">SwitchName=r02-opa-s2 Switches=r00-opa-l[0-1],r01-opa-l[0-1],r02-opa-l0 LinkSpeed=16</div><div class="">SwitchName=r02-opa-s5 Switches=r00-opa-l[0-1],r01-opa-l[0-1],r02-opa-l0 LinkSpeed=16</div><div class="">SwitchName=r02-opa-l0 Nodes=r02login[00-01],r02mds[0-1],r02mgmt[00-02],r02s[00-01] LinkSpeed=16</div><div class="">SwitchName=r01-opa-l0 Nodes=r01n[00-24],r01oss1 LinkSpeed=16</div><div class="">SwitchName=r02-opa-s6 Switches=r00-opa-l[0-1],r01-opa-l[0-1],r02-opa-l0 LinkSpeed=16</div><div class="">SwitchName=r01-opa-l1 Nodes=r01n[25-56],r01oss0 LinkSpeed=16</div></blockquote><div class=""><br class=""><div class=""><br class="webkit-block-placeholder"></div><div class="">When querying for links between nodes using Intel's API, both directions are returned (e.g. LID 1 -> 2 and 2 -> 1).  The program currently looks for any non-leaf switches and removes references to them from leaf switches -- very simple.  The LinkSpeed values are the (semi-arbitrary) product of the API's link width and base link speed enumerations as reported for a switch (maximum value across all ports on the switch).</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class="">::::::::::::::::::::::::::::::::::::::::::::::::::::::<br class="">Jeffrey T. Frey, Ph.D.<br class="">Systems Programmer V / HPC Management<br class="">Network & Systems Services / College of Engineering<br class="">University of Delaware, Newark DE  19716<br class="">Office: (302) 831-6034  Mobile: (302) 419-4976<br class="">::::::::::::::::::::::::::::::::::::::::::::::::::::::<br class=""><br class=""><br class=""><br class=""></div><br class=""></div></body></html>