C++ Infiniband addressing—主机名到IB地址,不带IBoIP
我刚刚开始熟悉infiniband,我想了解可以用来寻址infiniband节点的方法 基于代码的示例来自: 我可以使用IPoIB通过IP或主机名对单个节点进行寻址 另一种方法是直接使用端口GUID地址。但看起来您必须查找它们,它更类似于以太网mac寻址 然后是一个称为LID地址的东西,一个由fabric manager分配的16位本地地址。如何在运行时使用和确定LID地址?例如,我运行ibaddr并获得GID fe80::1a:4bff:ff0c:34e5 LID start 0x6 end 0x6C++ Infiniband addressing—主机名到IB地址,不带IBoIP,c++,linux,infiniband,C++,Linux,Infiniband,我刚刚开始熟悉infiniband,我想了解可以用来寻址infiniband节点的方法 基于代码的示例来自: 我可以使用IPoIB通过IP或主机名对单个节点进行寻址 另一种方法是直接使用端口GUID地址。但看起来您必须查找它们,它更类似于以太网mac寻址 然后是一个称为LID地址的东西,一个由fabric manager分配的16位本地地址。如何在运行时使用和确定LID地址?例如,我运行ibaddr并获得GID fe80::1a:4bff:ff0c:34e5 LID start 0x6 end
基本上,如果您不使用IPoIB,如何将主机名转换为地址或类似名称?是否有主机文件或其他等效文件?列出的各种寻址方法之间有一个基本区别:
- 确定队列对的地址
- 将地址传递给另一个节点(通过一些带外机制)
例如,MPI通过SSH交换所有这些地址(顺便说一句,SSH也可以在IPoIB上运行),一旦交换了此信息并连接了所有QP,数据就开始通过这些RC QP流动。感谢您提供的信息。运行IPoIB似乎是一条可行之路。甚至像这样的工具似乎也使用了一些带外机制来交换此类信息