NCCL安裝及測試
- 1 系統信息查看
- 1.1 查看本機的操作系統和位數信息:
- 1.2 確認處理器架構
- 1.3 確認cuda版本
- 2 NCCL安裝
- 2.1 根據上面的系統架構以及CUDA版本,進入[官網](https://developer.nvidia.com/nccl/nccl-download)下載匹配的nccl,若想獲取舊版本,進入[舊版本](https://developer.nvidia.com/nccl/nccl-legacy-downloads)鏈接
- 2.2 選擇下圖的安裝版本和安裝方式
- 2.3 測試
- 3 paddle安裝
安裝paddle 環境,使用多卡訓練,需要安裝NCCL,注意,需要先安裝NCCL,再安裝paddle
1 系統信息查看
1.1 查看本機的操作系統和位數信息:
uname -m && cat /etc/*release
我的系統輸出為
CentOS Linux release 7.9.2009
1.2 確認處理器架構
python3 -c "import platform;print(platform.architecture()[0]);print(platform.machine())"
我的系統輸出為x86_64,代表x86_64架構(或稱作 x64、Intel 64、AMD64)架構。
1.3 確認cuda版本
nvcc -V
我的系統輸出
Cuda compilation tools, release 11.1, V11.1.105
2 NCCL安裝
2.1 根據上面的系統架構以及CUDA版本,進入官網下載匹配的nccl,若想獲取舊版本,進入舊版本鏈接
2.2 選擇下圖的安裝版本和安裝方式
具體命令為
for RedHat/CentOS 7
sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
For RHEL/Centos:
sudo yum install libnccl-2.8.4-1+cuda11.1 libnccl-devel-2.8.4-1+cuda11.1 libnccl-static-2.8.4-1+cuda11.1
提示如下,證明安裝成功
已安裝:libnccl.x86_64 0:2.8.4-1+cuda11.1 libnccl-devel.x86_64 0:2.8.4-1+cuda11.1 libnccl-static.x86_64 0:2.8.4-1+cuda11.1 完畢!
2.3 測試
$ git clone https://github.com/NVIDIA/nccl-tests.git
$ cd nccl-tests
$ make
$ ./build/all_reduce_perf -b 8 -e 256M -f 2 -g <ngpus># nThread 1 nGpus 4 minBytes 8 maxBytes 268435456 step: 2(factor) warmup iters: 5 iters: 20 agg iters: 1 validation: 1 graph: 0
#
# Using devices
# Rank 0 Group 0 Pid 200875 on localhost device 0 [0x3b] Tesla T4
# Rank 1 Group 0 Pid 200875 on localhost device 1 [0x5e] Tesla T4
# Rank 2 Group 0 Pid 200875 on localhost device 2 [0x86] Tesla T4
# Rank 3 Group 0 Pid 200875 on localhost device 3 [0xaf] Tesla T4
輸出上面信息證明測試成功
3 paddle安裝
paddle對CUDA 11.1支持的版本比較少,因此先進入如下鏈接
查找能夠支持的版本,最終選擇2.3.2版本paddle,安裝命令如下
python3 -m pip install paddlepaddle-gpu==2.3.2.post111 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
安裝后輸出如下信息證明安裝成功
Installing collected packages: paddlepaddle-gpu
Successfully installed paddlepaddle-gpu-2.3.2.post111
進入python 環境,輸入如下命令以及提示信息,證明nccl已安裝成功,可以多卡訓練。
>>> import paddle
>>> paddle.utils.run_check()PaddlePaddle works well on 4 GPUs.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.