Ubuntu18.04.1配置NVIDIA驅動(run file),cuda9.0(run file),cudnn7.3.1(deb檔案) (一)
2018.12.29更新
NVIDIA驅動:https://www.geforce.cn/drivers
搜尋自己電腦的gpu版本:下面是驅動型號的一部分結果
cuda版本:https://developer.nvidia.com/cuda-toolkit-archive
pytorch版本:https://pytorch.org/
下面是最新的版本。其他已釋出的版本自己去看,這裡不列出來了
tensorflow版本:https://tensorflow.google.cn/install/source_windows
Python版本
cuDNN版本:https://developer.nvidia.com/rdp/cudnn-archive
綜上來看,既要安裝pytorch也要安裝tensorflow(我安裝的是gpu版本的)所以上面可供選擇的是:cuda 8系列、9系列,Python3.5-3.6,cudnn相對應tensorflow的版本要求,NVIDIA與cuda版本相對應最低版本要求
因此我選擇:cuda 9.0,NVIDIA 390.87,TensorFlow-gpu 1.12.0,Python 3.6.8,cudnn 7.3.1,pytorch 1.0
cuda9.0以及NVIDIA驅動我都是安裝的run檔案,我是參考這個安裝的https://blog.csdn.net/jonms/article/details/79318566
CUDA完成安裝之後,還需要新增環境變數,開啟終端,輸入下面的命令:
sudo vim ~/.bashrc
開啟檔案,然後在末尾新增以下3句
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
在終端輸入:使之生效,或者關掉該終端,重新開啟一個終端
source ~/.bashrc
上述過程完成了整個的CUDA9.0的安裝
下面是驗證上面的安裝是否成功:
1.驗證驅動版本:
cat /proc/driver/nvidia/version
2.驗證CUDA Toolkit:
nvcc -V
3.測試sample:
3.1編譯sample:大概要花上十多分鐘,如果出現錯誤的話,系統會立即報錯停止。如果編譯成功,最後會顯示Finished building CUDA samples
cd /usr/local/cuda-9.0/samples
sudo make
3.2接著執行編譯生成的二進位制檔案:result = pass成功否則result=fail
cd bin/x86_64/linux/release
./deviceQuery
3.3最後檢查一下系統和CUDA-Capable device的連線情況 :result = pass表示成功
./bandwidthTest
但是在第三步編譯samples的sudo make命令之後出現:
錯誤的解決方式很簡單,就是安裝低版本gcc和g++,並建立連結或更改gcc各版本的優先順序。做法如下:
1.安裝gcc-6和g++-6(為了以後以後考慮),版本只要比錯誤中提到的支援上限小就沒問題
sudo apt-get install gcc-6 g++-6
2.更改gcc各版本的優先順序
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
上述兩點做完之後繼續測試samples之後的步驟。
安裝cudnn:
去官網https://developer.nvidia.com/rdp/cudnn-archive
先註冊進去之後,點最下面的那個releases 選擇你需要的版本,下載適合cuda版本的deb檔案或tgz檔案
(一)親測:deb檔案
在這裡我下載的是2018年9月28號的for cuda 9.0的v7.3.1,下載子資料夾裡面的三個for Ubuntu16.04的deb檔案,分別是:
libcudnn7_7.3.1.20-1+cuda9.0_amd64.deb 127M左右 對應的是cuDNN v7.3.1 Runtime Library for Ubuntu16.04 (Deb)
libcudnn7-dev_7.3.1.20-1+cuda9.0_amd64.deb 117.7M左右 對應的是cuDNN v7.3.1 Developer Library for Ubuntu16.04 (Deb)
libcudnn7-doc_7.3.1.20-1+cuda9.0_amd64.deb 4.9M左右 對應的是cuDNN v7.3.1 Code Samples and User Guide for Ubuntu16.04 (Deb)
1.deb檔案進行安裝:通過deb檔案安裝,/usr/src目錄下會有cudnn_samples_v7
sudo dpkg -i libcudnn7_7.3.1.20-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.3.1.20-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.3.1.20-1+cuda9.0_amd64.deb
2. 測試cudnn是否成功:提示“Test passed!”資訊表示安裝成功
cp -r /usr/src/cudnn_samples_v7 $HOME # 複製該目錄到home下面
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
如果提示庫缺失錯誤,可參考以下命令
sudo cp /usr/local/cuda-9.0/lib64/libcudart.so.9.0 /usr/local/lib/libcudart.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcurand.so.9.0 /usr/local/lib/libcurabd.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcudnn.so.7 /usr/local/lib/libcudnn.so.7 && sudo ldconfig
(二)tgz檔案:下載下面的這個檔案,對應的是cudnn-9.0-linux-x64-v7.3.1.20.tgz 361.6M左右大小
1.首先解壓tgz檔案
tar -xzvf cudnn-9.0-linux-x64-v7.3.1.20.tgz
2.複製檔案到cuda安裝路徑下
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
上述過程完成了整個的cudnn7.3.1的安裝