我在 RHEL 6.3 上运行了 Infiniband
[root@master ~]# ibv_devinfo
hca_id: mthca0
transport: InfiniBand (0)
fw_ver: 4.7.927
node_guid: 0017:08ff:ffd0:6f1c
sys_image_guid: 0017:08ff:ffd0:6f1f
vendor_id: 0x08f1
vendor_part_id: 25208
hw_ver: 0xA0
board_id: VLT0060010001
phys_port_cnt: 2
port: 1
state: PORT_ACTIVE (4)
max_mtu: 2048 (4)
active_mtu: 2048 (4)
sm_lid: 2
port_lid: 3
port_lmc: 0x00
link_layer: InfiniBand
port: 2
state: PORT_DOWN (1)
max_mtu: 2048 (4)
active_mtu: 512 (2)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: InfiniBand
但它只作为 root 工作。
从非超级用户那里尝试时,我一无所获:
[nicolas@master ~]$ ibv_devices
device node GUID
------ ----------------
mthca0 001708ffffd06f1c
那么,如何让普通用户使用 infiniband 呢?
好的,这是 RHEL 6.3 版本中的一个错误
缺少 Udev 规则:
/etc/udev/rules.d/90-rdma.rules
请参阅https://www.centos.org/modules/newbb/viewtopic.php?topic_id=38586&forum=55
最好用修复后的版本 rdma-3.3-4 简单地更新包。更多细节在这里: http ://rhn.redhat.com/errata/RHBA-2012-1423.html
这里有更完整的信息,供希望解决 RH 6.3 Linux 2.6.32-279.9.1.el6.x86_64 #1 SMP Fri Aug 31 09:04:24 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux 上面临的问题的人使用
1.以root身份创建丢失的文件:
在管理节点上(即头节点、服务节点等)
2. 通过 ssh 或任何首选方法将此文件复制到集群中的任何计算节点。
ETC
3.验证文件是否在每个计算节点的文件夹中创建
/etc/udev/rules.d
4.重启所有计算节点和管理节点。
注意 :更改后,用户在运行命令时仍会得到此结果
但不要担心,只需运行您喜欢的 mpi 应用程序就可以了。
b. 问题是无论使用任何 HCA 供应商,都直接连接到操作系统。
C。这似乎是由于上游对 rdma 包所做的更改(不再有 udev 规则)引起的,内核创建的 infiniband 设备具有错误的权限。CentOS 6.3 和 Scientific Linux 6.3 的用户报告了这个问题
希望能帮助别人
我想你会遇到像我一样的情况。
我运行了 rping 和 ib_write_bw,输出如下
无法分配 MR
就像Dotan说的那样
解决方案很简单,正如 Dotan 所说的那样https://www.rdmamojo.com/2014/10/11/working-rdma-redhatcentos-7/