1、NCCL变量设置
export CUDA_DEVICE_MAX_CONNECTIONS=1
export NCCL_SOCKET_IFNAME=eno2
export NCCL_IB_DISABLE=0
#export NCCL_NET=IB
export NCCL_IB_HCA=mlx5_0,mlx5_1
export NCCL_IB_GID_INDEX=3
export NCCL_DEBUG=INFO
GPUS_PER_NODE=4
MASTER_ADDR=192.168.1.2
MASTER_PORT=6000
NNODES=2
NODE_RANK=0
WORLD_SIZE=$(($GPUS_PER_NODE*$NNODES))
2、路由设置
如果两个RDMA网卡不在同一网段,需要互相配置路由:
sudo ip route add 192.168.1.2/32 via 192.168.1.1 dev ens21np0
sudo ip route add 192.168.2.2/32 via 192.168.2.1 dev ens16np0
其中192.168.1.1和192.168.2.1是交换机的地址。
ens21np0的地址是192.168.2.1,ens16np0的地址是192.168.1.2
说明:
RDMA网卡并不会存路由和MAC,(根据源码)MAC和出接口都是驱动下发的,
所以,如果不配置这两条路由,内核查到的是直连路由,出接口是错误的。