檢查GPU設備識別
$ yum install pciutils
$ sudo lspci | grep NVIDIA
00:10.0 3D controller: NVIDIA Corporation GP104GL [Tesla P4] (rev a1) 表示 GPU 卡是 Tesla P4
取得 CUDA 網路來源,並配置
NVidia官方來源位址:https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/
$ wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-8.0.61-1.x86_64.rpm
$ rpm -Uvh cuda-repo-rhel7-8.0.61-1.x86_64.rpm
註:安裝nvidia驅動程式需要kernel-devel包,安裝方法如下:
$ wget http://vault.centos.org/7.0.1406/updates/x86_64/Packages/kernel-devel-3.10.0-123.4.4.el7.x86_64.rpm
$ wget http://vault.centos.org/7.0.1406/updates/x86_64/Packages/kernel-headers-3.10.0-123.4.4.el7.x86_64.rpm
$ rpm -Uvh kernel-devel-3.10.0-123.4.4.el7.x86_64.rpm
$ rpm -Uvh kernel-headers-3.10.0-123.4.4.el7.x86_64.rpm
安裝 CUDA 8.0
$ yum install cuda-8-0
查看驅動狀態
$ sudo nvidia-smi
測試 GPU 基本功能(可選)
增加 LD path
$ export LD_LIBRARY_PATH="/usr/local/cuda-7.5/lib64:/usr/lib64/:$LD_LIBRARY_PATH"
安裝 CUDA examples
$ cd /usr/local/cuda/bin
$ sh cuda-install-samples-8.0.sh ~/cuda-test/
$ cd ~/cuda-test/NVIDIA_CUDA-8.0_Samples
$ make
$ ./bin/x86_64/linux/release/deviceQuery 取得裝置狀態
$ ./bin/x86_64/linux/release/bandwidthTest 測試設備頻寬
Note: 如果編譯過程發現 lnvcuvid 的錯誤,可以執行:
$ find . -type f -execdir sed -i 's/UBUNTU_PKG_NAME = "nvidia-367"/UBUNTU_PKG_NAME = "nvidia-375"/g' '{}' \
其中nvidia-375是目前安裝的驅動的版本
安裝cudnn
選裝,註:不同 AI 框架對 cudnn 的版本支援不同
下載cudnn軟體包
需要註冊 nvidia 帳號後才能下載。
注意:CentOS 下載 cuDNN v5.1 Library for Linux
安裝
案例使用cudnn5.1, 因為TensorFlow目前僅支援5.1
$ tar -zxf cudnn-8.0-linux-x64-v5.1.tgz
解壓縮的路徑可以自由選擇,一般是/usr/lib下面,這邊假設為
$ export LD_LIBRARY_PATH=:$LD_LIBRARY_PATH
FAQ
nvidia-smi 發現 GPU 使用率100%,為什麼?
這個問題是系統讀取gpu狀態資訊不準確導致,執行下列指令可更正,讓系統讀取指令正確。
# nvidia-smi -pm 1
