镜像安装
训推服务部分官方镜像默认安装CTCCL,使用以下官方镜像时,无需自己安装CTCCL。
pytorch-2.2.0-ctccl0.3.0-cuda12.3-ubuntu20.04-amd64
llama2-training-ctccl0.3.0-cuda12.1-pytorch2.2.1-megatron0.2.0-deepspeed0.14.1-ubuntu20.04-amd64
手动安装
1.确认原本nccl/ctccl安装位置
如果使用的深度学习框架自带NCCL,配置的NCCL目录可能不是默认路径,可以用以下命令查找。
find / -name "libnccl.so.2" #获得$NCCL_PATH
2.确认使用的CUDA版本
使用以下命令,查看当前环境依赖的CUDA版本,输出结果如下图所示。
nvdia-smi
3.下载CUDA版本对应的CTCCL
用户根据操作系统和安装的CUDA版本下载对应的CTCCL独立安装包,安装并使用。
4.使用下载的CTCCL替换环境中原有的libnccl。
CTCCL | 依赖环境 | 下载地址 |
v0.4.0 | Ubuntu 20.04 + CUDA12.2 | https://jiangsu-10.zos.ctyun.cn/ctccl-n/ctccl/cuda12.2/ubuntu20.04/ctccl0.4.0/libnccl.so.2 |
cp libnccl.so.2 $NCCL_PATH
如果没有查找到libnccl.so.2文件,可以直接使用cp命令复制到/usr/lib64。
5.确认是否替换成功
在训练日志中,看到日志输出对应的ctccl信息。
如:CTCCL version 0. .0(nccl_2.19.4)+cuda12.2
CTCCL版本升级
对于已安装NCCL或CTCCL旧版本的情况,若要安装CTCCL新版本,请确保已停止该环境所有的训练任务,升级方式和安装方法相同。
CTCCL测试
在NVIDIA平台上,可以使用NCCL-Test工具测试CTCCL的性能。
测试代码下载路径:
https://github.com/NVIDIA/nccl-tests.git
编译:make MPI=1 MPI_HOME={{MPI路径}} CUDA_HOME={{CUDA路径}} NCCL_HOME={{NCCL路径}} -j 40
使用 mpirun 启动训练进程:mpirun --allow-run-as-root -np 2 -H IP1,IP2 -x NCCL_IB_HCA=mlx5_2 -x NCCL_IB_QPS_PER_CONNECTION=8 all_reduce_perf -b 8 -e 1G -f 2 -g 8