前言:在使用不同厂家的服务器做集群训练时,因为不同厂家的GPU服务器配置不同会影响计算网的通信,以下图为例:mlx5_6网卡在A机器上为25GE网卡,在B机器上为200G的IB网卡。

在添加NCCL通信相关配置时,如果没有统一命名,会因为网卡名称导致通信报错。
CUDA DEVICE MAX CONNECTIONS=1
UCX NET DEVICES=bond0
GLOO SOCKET IFNAME-bond0
NCCL SOCKET IFNAME=bond0NCCL IB HCA="mlx5 2,mlx5 3,mlx5 5,mlx5 6

因此针对同一集群内不同配置的GPU服务器需要修改其IB网卡使用,具体修改方法如下:

1.首先在mst status -v 下查看PCIE对应的NUMA关系

2.vi /etc/udev/rules.d/60-rdma-persistent-naming.rules 添加命名脚本

ACTION=="add", KERNELS=="0000:1d:00.0", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED mlx5_ib0"

ACTION=="add", KERNELS=="0000:1e:00.0", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED mlx5_ib1"

ACTION=="add", KERNELS=="0000:45:00.0", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED mlx5_ib2"

ACTION=="add", KERNELS=="0000:96:00.0", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED mlx5_ib3"

ACTION=="add", KERNELS=="0000:cd:00.0", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED mlx5_ib4"

修改 KERNELS==“0000:” 的值,参考smt status -v中的 PCI值对应的NET网卡,保存后reboot。

3.ibdev2netdev 查看命名,已经修改成功。

修改前

修改后:

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐