ubuntu22.04编译安装nccl并使用nccl-tests进行单机多卡通信测试

我们之前安装过nccl,只不过都是通过yum或者apt安装,我们这次使用离线编译安装的方式再次进行nccl的安装,使用编译安装可以自定义nccl的安装目录,然后使用的时候我们需要设置下LD_LIBRARY_PATH目录即可。
我们首先安装cuda,我们操作系统是ubuntu22.04

wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
chmod +x cuda_11.7.0_515.43.04_linux.run

我们使用静默安装,不更新驱动

./cuda_11.7.0_515.43.04_linux.run --toolkit --no-drm --silent

安装好以后添加下环境变量
~/.bashrc中最下面添加下面两行

export PATH=/usr/local/cuda-11.7/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH
source ~/.bashrc

接着我们安装nccl,我们拉取最新的nccl源代码

git clone https://github.com/NVIDIA/nccl.git

然后进行编译安装,安装有一些参数需要注意

cd nccl
mkdir -p /usr/local/nccl
make -j src.build BUILDDIR=/usr/local/nccl NVCC_GENCODE="-gencode=arch=compute_86,code=sm_86"

编译时需要注意卡的架构,可以在这里查询https://sulao.cn/post/1057,我们用的3090,是8.6,所以这里架构就是86,sm也是86,如果你的cuda不是安装在默认路径下的,可以使用CUDA_HOME参数来指定cuda安装的目录。
编译完成以后给nccl库添加环境变量,还是修改~/.bashrc文件,最后添加两行

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/nccl/lib
export PATH=$PATH:/usr/local/nccl/bin
source ~/.bashrc

接着我们可以使用nccl-tests进行测试

git clone https://github.com/NVIDIA/nccl-tests.git
cd nccl-tests
make CUDA_HOME=/usr/local/cuda-11.7 NCCL_HOME=/usr/local/nccl

编译完成以后我们可以使用nccl进行测试了,以下命令为单机多卡命令,-g参数就是gpu卡数量

./build/all_reduce_perf -b 8 -e 4G -f 2 -g 2

202506301004281864773697.png

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/1068

评论列表