Ubuntu16.04安裝CUDA10.2, CUDA toolkit與驅動版本的關係, anaconda中CUDA toolkit與Nvidia的CUDA toolkit的關係

安裝CUDA 10.2

我的系統是Ubuntu16.04, 按照Nvidia官網的說明, 下載相應的deb包, 安裝即可.
在這裏插入圖片描述
安裝指令如下:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-ubuntu1604.pin
sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

如果執行sudo apt-get update的時候發生如下錯誤:

*** Error in `appstreamcli': double free or corruption (fasttop): 0x0000000001166b20 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fe27911e7e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7fe27912737a]
...

執行命令sudo apt remove appstream, 然後再進行更新操作.
說明: 安裝的時候, 如果遇到其他問題, 可以參考一下詳細的安裝手冊, 檢查相應的系統要求是否滿足.

安裝後操作

參考詳細的安裝手冊裏面的操作, 把CUDA的路徑加入到bash配置文件中, 輸入如下:

# 將CUDA的相關路徑加入到bash全局配置文件中
sudo vim /etc/profile
# 寫入如下配置, 如果是安裝其他版本的CUDA, 應該按官網的後處理提示添加路徑
export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

注意: 上面的export LD_LIBRARY_PATH不要寫成兩行, 否則容易導致source的時候錯誤

設置顯卡的persistenced模式:

echo "/usr/bin/nvidia-persistenced --verbose" | sudo tee -a /etc/init.d/rc.local
sudo /usr/bin/nvidia-persistenced --verbose

檢查是否安裝成功. 重新登錄一下terminal, 使得配置生效, 執行如下命令:

cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery  # 這裏應該輸出成功
# 看一下nvidia-smi是否成功
nvidia-smi
# 看一下nvcc的版本, 正常顯示不報錯就成功了
nvcc -V

安裝cuDNN

cuDNN是用於神經網絡的GPU庫, 有些python包依賴cuDNN才能運行. 先在官網上註冊賬號, 下載相應的安裝包.
在這裏插入圖片描述
安裝的步驟相對簡單, 可以根據官網的提示, 如下一條命令即可:

# 找到相應的文件
sudo dpkg -i ./libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb

至此, CUDA和cuDNN已經完成安裝.

CUDA版本與驅動版本的關係

一般來說, CUDA版本越高, 需要的驅動越高. 如果使用deb的方式安裝, 驅動會自動安裝到合適的版本. 但是後續如果改動的驅動, 可能導致CUDA不能使用, 或者顯卡的程序出現異常, 此時, 檢查下是否驅動的版本有問題.
在這裏插入圖片描述

Anaconda中的CUDA toolkit

如果使用Anaconda安裝python環境, 會發現, conda在安裝的時候, 會自動安裝cudatoolkit, 如下所示

$ conda list | grep cuda
cudatoolkit               9.0                  h13b8566_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
cudnn                     7.6.0                 cuda9.0_0
nccl                      1.3.5                 cuda9.0_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
pytorch                   1.1.0           py3.6_cuda9.0.176_cudnn7.5.1_0    https://mirrors.tuna.tsinghua.edu.cn/anacond
a/cloud/pytorch

這裏安裝的cudatoolkit只是Nvidia安裝的CUDA的部分文件, 爲了讓普通需要CUDA的程序能夠在系統沒有安裝CUDA的時候也能運行, 環境在安裝的時候, 自動安裝了部分CUDA文件. 但是CUDA的其他文件可能沒有, 比如nvcc.
因此完整的CUDA也需要安裝, 另外, 如果驅動滿足, 這裏的cudatoolkit版本不和系統一樣, 也能正常使用.
cuDNN也是一樣, conda自動安裝了合適的版本.

用Anaconda安裝python包

參考如下

  • https://blog.csdn.net/feifei3211/article/details/88979993
  • https://blog.csdn.net/feifei3211/article/details/88367721
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章