基于百舸平台对节点进行nccl-test
更新时间:2025-09-04
适用场景
为了确保分布式训练等依赖大规模并行计算的任务能高效、稳定运行,在启动任务前,可通过nccl-test来验证多GPU/多节点分布式系统中“集体通信”的性能与可靠性。
前置说明
全托管资源池
为了保证测试质量,建议创建一个专用于nccl-test的空队列,将需要进行nccl-test的节点移入该队列中,再在该队列上创建nccl-test分布式训练任务进行测试。
自运维资源池
对于新购入的节点,为了防止被自动归入默认队列被调用,需要在购入节点时开启封锁设置。
创建物理队列用于nccl-test,可指定节点加入该队列。
注意:如果节点设置了封锁,加入该队列后须取消封锁设置。
操作步骤
1. 创建分布式训练任务
您可以在百舸平台分布式训练模块中,快速发起训练任务。nccl-test参数配置如下:
1.1 基本信息
- 创建方式:选择“自定义创建”
1.2 环境配置
- 镜像地址:registry.baidubce.com/aihc-aiak/aiak-training-llm:ubuntu22.04-cu12.3-torch2.2.0-py310-bccl1.2.7.2_v2.1.5.1_release
- 执行命令为:
Plain Text
1export OMPI_ALLOW_RUN_AS_ROOT=1
2export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
3export NCCL_DEBUG=INFO
4export NCCL_IB_DISABLE=0
5
6mpirun \
7 -x UCX_NET_DEVICES=mlx5_1:1 \
8 -x NCCL_IB_QPS_PER_CONNECTION=8 \
9 -x LD_LIBRARY_PATH \
10 -x NCCL_NET_PLUGIN=none \
11 -x NCCL_IB_DISABLE=0 \
12 -x NCCL_DEBUG=INFO \
13 -x NCCL_ALGO=Ring \
14 /usr/local/bin/all_reduce_perf_mpi -b 32M -e 16G -f 2 -g 1 -n 20
- 环境变量:执行命令中已设置,可跳过该配置
1.3 资源配置
- 资源池类型:全托管资源池
- 队列:选择前面创建的nccl-test队列
- 优先级:按需选择
- 训练框架:选择 MPI
- 资源配额:填写nccl-test队列中全部的资源配额(为了对节点充分测试)
- RDMA:开启
2. 分布式训练任务启动后查看日志结果
点击分布式训练任务名称,进入任务详情,切换到日志页面,选择launcher实例查看日志。通过日志中bus bandwidth的数值,判断节点性能。