Hello,
I struggle to get the following setup running:
I have multiple AMD-epyc machines with Mellanox MCX556A-ECAT Cards (ConnectX-5).
I want to run a KVM virtual machine on these computers and have InfiniBand communication between different VMs (to get some MPI running).
Installation so far:
Host and Guest OS is Centos 7.7.
A Subnet Manager with virt_enabled 2 is running on one of the host systems.
I followed the steps in this guide.
I installed MLNX_OFED_LINUX-5.0-1.0.0.0-rhel7.7-x86_64 drivers on the hosts, enabled SR-IOV in the BIOS and set the kernel boot parameters amd_iommu=on and iommu=pt.
SR-IOV is enabled for the cards and I set /sys/class/infiniband/mlx5_1/device/mlx5_num_vfs to 2, /sys/class/infiniband/mlx5_1/device/sriov/XXX/policy is set to follow and each VF gets a node and port guid.
Then I unbind and bind the driver. This results in a set of vf-PCI devices as expected.
I then attach one of the vf-PCI devices to the KVM virtual machine via virsh and boot the VM. I can see the PCI device and installed MLNX_OFED_LINUX in the VM as well. Then I set up IPoIB and this works quite well.
Problem:
At this point, I can use IPoIB and I can also successfully use ibping. I can also use a tool like ib_write_bw from one of the Hosts to one of the VMs. But when I use these tools from one VM to another host or another VM, I get the errors below. Higher level tools like libverbs also don’t work.
Output VM (ib_write_bw client)
ib_write_bw host0 -x 0
RDMA_Write BW Test
Dual-port : OFF Device : mlx5_0
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
PCIe relax order: ON
TX depth : 128
CQ Moderation : 1
Mtu : 4096[B]
Link type : IB
GID index : 1
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
ethernet_read_keys: Couldn’t read remote address
Unable to read from socket/rdam_cm
Failed to exchange data between server and clients
Output other Host (ib_write_bw server)
ib_write_bw -d mlx5_1
- Waiting for client to connect… *
RDMA_Write BW Test
Dual-port : OFF Device : mlx5_1
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
PCIe relax order: ON
CQ Moderation : 1
Mtu : 4096[B]
Link type : IB
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
local address: LID 0x0b QPN 0x090e PSN 0x251319 RKey 0x00256e VAddr 0x007f4e0629a000
ethernet_read_keys: Couldn’t read remote address
Unable to read to socket/rdam_cm
Failed to exchange data between server and clients
Output ibstat on VM
ibstat
CA ‘mlx5_0’
CA type: MT4120
Number of ports: 1
Firmware version: 16.27.1016
Hardware version: 0
Node GUID: 0x1122334400000100
System image GUID: 0x506b4b03000cef94
Port 1:
State: Active
Physical state: LinkUp
Rate: 56
Base lid: 4
LMC: 0
SM lid: 11
Capability mask: 0x2651ec48
Port GUID: 0x1122334400000101
Link layer: InfiniBand
Any help is appreciated 🙂!
Best Regards
Jonathan