Решено
У меня проблемы с установкой программного обеспечения Infiniband из репозитория OpenSUSE.
Эта же карта отлично работает со стеком SLES12 + Mellanox OFED.
Устанавливая все, что содержит 'infiniband' из yast, я вижу, что HCA работает, и инструменты диагностики, такие как ibnodes, показывают соответствующие данные:
>ibnodes
Ca : 0x0002c90300a00360 ports 2 "cnode1 HCA-1"
Ca : 0x0002c90300ea8fd0 ports 1 "helper1 mlx4_0"
Switch : 0x0008f1050020096c ports 36 "Voltaire 4036 # spine2" enhanced port 0 lid 17 lmc 0
Здесь helper1 - это машина OpenSUSE, а cnode1 - это узел SLES.
Но когда дело касается глаголов, я понимаю:
>ibv_devinfo
No IB devices found
Следовательно, я не могу заставить MPI работать с бесконечной полосой.
Мне не хватает промежуточного уровня или компонентам libibverbs нужна дополнительная настройка?
Спасибо!
UPD: еще вывод zypper и lsmod:
Вот пакеты, установленные из репозитория Leap 42.2:
>zypper se verbs
S | Name | Summary | Type
--+-------------------------+-------------------------------------------------------------+--------
i | libibverbs-devel | Development files for the libibverbs library | package
| libibverbs-devel-32bit | Development files for the libibverbs library | package
i | libibverbs-devel-static | Static libibverbs library | package
i | libibverbs-runtime | Tools for the Infiniband Verbs library and manpages | package
i | libibverbs1 | Infiniband verbs library | package
| libibverbs1-32bit | Infiniband verbs library | package
i | libipathverbs-rdmav2 | PathScale InfiniPath HCA Userspace Driver | package
i | libusnic_verbs-rdmav2 | Cisco UCS InfiniBand HCA Userspace Driver | package
| texlive-newverbs | Define new versions of \verb, including short verb versions | package
| texlive-newverbs-doc | Documentation for texlive-newverbs | package
Список загруженных модулей для OpenSUSE (ibv_ * диагностика не может найти HCA)
>lsmod | grep ib
ib_ucm 24576 0
ib_ipoib 98304 0
ib_cm 49152 3 rdma_cm,ib_ucm,ib_ipoib
ib_uverbs 61440 2 ib_ucm,rdma_ucm
ib_umad 24576 0
iscsi_ibft 16384 0
iscsi_boot_sysfs 20480 1 iscsi_ibft
mlx4_ib 167936 0
ib_sa 40960 5 rdma_cm,ib_cm,mlx4_ib,rdma_ucm,ib_ipoib
ib_mad 57344 4 ib_cm,ib_sa,mlx4_ib,ib_umad
ib_core 131072 10 rdma_cm,ib_cm,ib_sa,iw_cm,mlx4_ib,ib_mad,ib_ucm,ib_umad,ib_uverbs,ib_ipoib
ib_addr 20480 4 rdma_cm,ib_sa,ib_core,rdma_ucm
mlx4_core 323584 1 mlx4_ib
libahci 36864 1 ahci
libata 270336 2 ahci,libahci
scsi_mod 262144 4 sg,libata,sd_mod,sr_mod
libcrc32c 16384 1 xfs
snd_usbmidi_lib 36864 1 snd_usb_audio
snd_rawmidi 36864 1 snd_usbmidi_lib
snd 90112 12 snd_hda_codec_realtek,snd_usb_audio,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device
usbcore 270336 6 snd_usb_audio,uvcvideo,snd_usbmidi_lib,ehci_hcd,ehci_pci,usbhid
Список загруженных модулей для SLES 12 (ibv_ * work)
>lsmod |grep ib
ib_ucm 18489 0
ib_ipoib 144838 0
ib_cm 46900 3 rdma_cm,ib_ucm,ib_ipoib
ib_uverbs 83349 2 ib_ucm,rdma_ucm
ib_umad 22281 6
mlx5_ib 204339 0
mlx5_core 572759 1 mlx5_ib
inet_lro 13400 3 mlx4_en,mlx5_core,ib_ipoib
iscsi_ibft 12862 0
iscsi_boot_sysfs 16051 1 iscsi_ibft
mlx4_ib 208061 0
ib_sa 37997 5 rdma_cm,ib_cm,mlx4_ib,rdma_ucm,ib_ipoib
ib_mad 60774 4 ib_cm,ib_sa,mlx4_ib,ib_umad
ib_core 159115 12 rdma_cm,ib_cm,ib_sa,iw_cm,mlx4_ib,mlx5_ib,ib_mad,ib_ucm,ib_umad,ib_uverbs,rdma_ucm,ib_ipoib
ib_addr 19098 3 rdma_cm,ib_core,rdma_ucm
ib_netlink 14070 3 rdma_cm,iw_cm,ib_addr
mlx4_core 374829 2 mlx4_en,mlx4_ib
mlx_compat 14630 18 rdma_cm,ib_cm,ib_sa,iw_cm,mlx4_en,mlx4_ib,mlx5_ib,ib_mad,ib_ucm,ib_netlink,ib_addr,ib_core,ib_umad,ib_uverbs,mlx4_core,mlx5_core,rdma_ucm,ib_ipoib
libahci 36105 1 ahci
libata 235807 2 ahci,libahci
scsi_mod 244354 3 sg,libata,sd_mod
Также grep только для глаголов:
OpenSUSE
>lsmod | grep verbs
ib_uverbs 61440 2 ib_ucm,rdma_ucm
ib_core 131072 10 rdma_cm,ib_cm,ib_sa,iw_cm,mlx4_ib,ib_mad,ib_ucm,ib_umad,ib_uverbs,ib_ipoib
SLES
>lsmod | grep verbs
ib_uverbs 83349 2 ib_ucm,rdma_ucm
ib_core 159115 12 rdma_cm,ib_cm,ib_sa,iw_cm,mlx4_ib,mlx5_ib,ib_mad,ib_ucm,ib_umad,ib_uverbs,rdma_ucm,ib_ipoib
mlx_compat 14630 18 rdma_cm,ib_cm,ib_sa,iw_cm,mlx4_en,mlx4_ib,mlx5_ib,ib_mad,ib_ucm,ib_netlink,ib_addr,ib_core,ib_umad,ib_uverbs,mlx4_core,mlx5_core,rdma_ucm,ib_ipoib
UPD2: Как писал Дерек Митчелл, я вижу сервис openibd в SLES + Mellanox OFED:
>service openibd status
openibd.service - openibd - configure Mellanox devices
Loaded: loaded (/usr/lib/systemd/system/openibd.service; enabled)
Active: active (exited) since Thu 2017-03-23 17:45:38 MSK; 1 weeks 2 days ago
Docs: file:/etc/infiniband/openib.conf
Main PID: 678 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/openibd.service
В Leap 42.2 такой службы нет, но вместо нее есть служба rdma:
service rdma status
* rdma.service - Initialize the iWARP/InfiniBand/RDMA stack in the kernel
Loaded: loaded (/usr/lib/systemd/system/rdma.service; disabled; vendor preset: disabled)
Active: active (exited) since Sat 2017-04-01 19:23:45 MSK; 2min 45s ago
Docs: file:/etc/rdma/rdma.conf
Process: 601 ExecStart=/usr/sbin/rdma-init-kernel (code=exited, status=0/SUCCESS)
Main PID: 601 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 512)
CGroup: /system.slice/rdma.service
Apr 01 19:23:37 helper1 systemd[1]: Starting Initialize the iWARP/InfiniBand/RDMA stack in the kernel...
Apr 01 19:23:45 helper1 rdma-init-kernel[601]: /sys/class/infiniband /
Apr 01 19:23:45 helper1 rdma-init-kernel[601]: /
Apr 01 19:23:45 helper1 systemd[1]: Started Initialize the iWARP/InfiniBand/RDMA stack in the kernel.
В любом случае, ibv_devinfo все равно не может найти карту connectx-3.
UPD3 Итак, проблема возникла из-за того, что основной репозиторий Leap 42.2 не включает пакет libmlx4-rdmav2, а mlx4 - это драйвер для подключения HCA connectx-3.
После добавления репозитория Factory OFED
zypper addrepo http://download.opensuse.org/repositories/OFED:Factory/openSUSE_Leap_42.2/OFED:Factory.repo
установив libmlx4-rdmav2 и понизив все остальные пакеты infiniband до заводской версии, я получил работу ibv_devinfo.
>ibv_devinfo
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.36.5000
node_guid: 0002:c903:00ed:3ed0
sys_image_guid: 0002:c903:00ed:3ed3
vendor_id: 0x02c9
vendor_part_id: 4099
hw_ver: 0x0
board_id: MT_1100120019
phys_port_cnt: 1
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 3
port_lid: 19
port_lmc: 0x00
link_layer: InfiniBand
Я сделал это для своих карт VOLTAIRE 410-4EX (mthca) на leap 42.1:
zypper install opensm ibutils ibutils-devel infiniband-diags infiniband-diags-devel libibcm1 libibverbs-devel libibverbs-runtime ibacm libibcm1 libmthca-rdmav2 rdma tvflash libibnetdisc5 ibsim qperf
Затем:
systemctl enable openibd
systemctl start openibd