1. 程式人生 > >Ubuntu18.04.1配置NVIDIA驅動(run file),cuda9.0(run file),cudnn7.3.1(deb檔案) (一)

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版本

https://www.python.org/downloads/

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的安裝