https://developer.nvidia.com/nccl/nccl-download
旧版本安装:
https://developer.nvidia.com/nccl/nccl-legacy-downloads
找到你对应的CUDA版本
我这里选择 deb 文件安装了
sudo dpkg -i nccl-local-repo-ubuntu2004-2.16.5-cuda11.8_1.0-1_amd64.deb
sudo cp /var/nccl-local-repo-ubuntu2004-2.16.5-cuda11.8/nccl-local-7EEFD2A2-keyring.gpg /usr/share/keyrings/
这一步是将NCCL
本地仓库的GPG
密钥复制到系统的密钥环目录(/usr/share/keyrings/
)中。GPG(GNU Privacy Guard)密钥用于验证下载软件包的完整性和真实性,确保软件包没有被篡改,并且确实来自指定的源。
在安装来自第三方仓库的软件时,APT
(Advanced Package Tool)需要这个仓库的GPG密钥来验证软件包。如果没有相应的GPG
密钥,APT无法确认软件包的安全性,因此不会安装这些软件包。
具体到这一步骤,nccl-local-7EEFD2A2-keyring.gpg
是NVIDIA为其NCCL
(NVIDIA Collective Communications Library)本地APT仓库提供的GPG密钥。通过复制这个密钥文件到/usr/share/keyrings/
目录,您在使用APT安装NCCL软件包时,APT就能验证软件包的真实性。
由于目前还没有安装 nccl
, 用以下命令验证一下:
sudo updatedb # 更新locate数据库,可能需要一点时间
locate libnccl.so
可以看到没有什么输出
刚通过 dpkg
安装了一个 NCCL
的本地仓库包。
接下来,需要从该本地仓库中安装NCCL
。
需要更新APT的源列表,然后安装NCCL。这里是一般的步骤:
sudo apt update
于是执行
sudo apt install libnccl2 libnccl-dev
之后定位以下这个玩意儿安装到哪里了:
locate libnccl.so
OK成功安装
如果你是装给多卡机器装Paddle, 接下来可以执行:
python -c "import paddle; paddle.utils.run_check()"
我的三台服务器中有一台:
MD,懒得折腾了,这机子不用nccl2也罢…