GenStudio LLM API 部分模型价格调整公告GenStudio LLM API 部分模型价格调整公告 ,新价格 2025 年 11 月 1 日生效调价公告
Skip to content

RDMA 网络配置

本文介绍 AIStudio 任务功能中的 RDMA(远程直接内存访问)网络配置。RDMA 是分布式训练中实现高性能 GPU 间通信的关键技术。

提示

对于大多数用户,AIStudio 会自动感知当前资源与环境并进行最优配置,无需手动干预。仅在使用自定义镜像或遇到通信问题时,才需要参考本文进行配置。

查询训练网类型

您可以前往资源池页面,进入资源池详情页,查看特定资源规格的「训练网」配置。例如:IB 4*200G / RoCE 1*200G 等。

要判断 RDMA 网络是 RoCE 还是 InfiniBand,还可以登录任务 Worker,使用 rdma link showibstat 命令:只需查看输出中的 link_layer 字段,若为 Ethernet 则表示 RoCE,若为 InfiniBand 则表示 InfiniBand;此外,ibstat 中若 base lidSM lid 为非零值,通常也表明是 InfiniBand。

开启 RDMA 配置

如果所选规格的「训练网配置」为 RoCE 或 IB,在创建任务页面,可看到该配置项。RDMA 配置在规格为 8 卡时自动开启、小于 8 卡时自动关闭。您可以手动调整。

警告

RoCE 网络下使用小于 8 卡规格时若开启 RDMA 配置,可能会造成通信问题。

自定义镜像的 RDMA 依赖

若使用自定义镜像并启用 RDMA(如 InfiniBand 或 RoCE 网络),请确保镜像包含以下依赖:

检测命令(Ubuntu):

shell
dpkg -l infiniband-diags perftest ibverbs-providers libibumad3 libibverbs1 libnl-3-200 libnl-route-3-200 librdmacm1

安装命令(Ubuntu):

shell
apt update && apt install -y \
    infiniband-diags \
    perftest \
    ibverbs-providers \
    libibumad3 \
    libibverbs1 \
    libnl-3-200 \
    libnl-route-3-200 \
    librdmacm1

各依赖包说明:

包名说明
infiniband-diagsInfiniBand 网络诊断工具,用于检测和调试 IB 连接
perftestRDMA 性能测试工具,用于测试网络带宽和延迟
ibverbs-providersInfiniBand Verbs 提供程序,支持不同厂商的 RDMA 硬件
libibumad3InfiniBand 用户空间管理接口库
libibverbs1InfiniBand Verbs 用户空间库,提供 RDMA 编程接口
libnl-3-200Netlink 协议库,用于内核网络配置
libnl-route-3-200Netlink 路由库,用于网络路由管理
librdmacm1RDMA 连接管理库,用于建立 RDMA 连接

如未预装上述依赖,建议在镜像构建阶段中手动安装,以保障 RDMA 网络功能的正常。

NCCL 环境变量

您的训练网类型可能为 IB / RoCE。关于 NCCL 环境变量的具体解释,可查看 NCCL 官方文档

IB 环境

在 IB 环境下,作为最佳实践,建议手动设置:

shell
export NCCL_SOCKET_IFNAME=eth0

RoCE 环境

在 RoCE 环境下,作为最佳实践,建议手动设置:

shell
export NCCL_SOCKET_IFNAME=eth0

在训练网为 RoCE 时,平台还会预置以下 NCCL 环境变量。一般不建议用户自行修改:

  • NCCL_IB_GID_INDEX:在完整的 8 卡 Pod 上,此值通常是 5。在非 8 卡的场景中,平台会动态获取并配置。
  • NCCL_IB_HCA:RDMA 通信的网卡名称(不含管理网卡)
  • NCCL_CROSS_NIC:预置变量值为 0,表示关闭跨 RoCE 网卡间的网络,以避免不同网卡之间无法通信的情况。

危险

  • 无需额外设置 NCCL_IB_TC
  • 请勿随意调整以上环境变量。

其他注意事项

如果任务规模非常大,可以手动设置下指定拓扑建环的策略。虽然 AIStudio 平台默认会自动选择,但有时根据任务的不同规模和通信特征,尝试手动指定 ring 或者 tree 可能会有更好的性能:

shell
# 手动指定拓扑建环的策略
export NCCL_ALGO=Ring

注意

部分自定义镜像(比如从外部平台迁移的镜像)可能会携带预设环境变量,导致训练问题,请注意提前检查。