1. 程式人生 > >Ubuntu16.04 安裝 Nvidia Driver、CUDA、cudnn

Ubuntu16.04 安裝 Nvidia Driver、CUDA、cudnn

2018.12.19
—————
Ubuntu 16.04
Nvidia Graphics Card: GeForce GTX 1070
Nvidia Graphics Driver
CUDA 9.0
cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.0

文章目錄


———————————————————————————————————————

Nvidia官方安裝教程:

  1. CUDA Toolkit Documentation v9.0.176
  2. cuDNN Installation Guide

1. 安裝 Nvidia Graphics Driver

1.1 下載驅動程式

點選這裡搜尋下載所有版本驅動,或者點選這裡搜尋下載最新版本驅動。
我的顯示卡為 GeForce GTX 1070
使用最新版本驅動 NVIDIA-Linux-x86_64-410.78.run


在這裡插入圖片描述

1.2 安裝驅動程式

1.2.1 禁用nouveau驅動

nouveau 為第三方開源顯示卡驅動。
開啟配置檔案,設定禁用。

sudo vim /etc/modprobe.d/blacklist.conf

在配置檔案末尾新增兩行。

blacklist nouveau
options nouveau modeset=0

然後執行

sudo update-initramfs -u

重新啟動,並執行

lsmod | grep nouveau

如果沒有螢幕輸出,說明禁用nouveau成功。

1.2.2 禁用X-Window服務

sudo service lightdm stop #這會關閉圖形介面,但不用緊張

Ctrl-Alt+F1進入命令列介面,輸入使用者名稱和密碼登入即可。

小提示:在命令列輸入:sudo service lightdm start ,然後按Ctrl-Alt+F7即可恢復到圖形介面。

1.2.3 命令列安裝驅動

給驅動程式run檔案賦予執行許可權:

sudo chmod +x NVIDIA-Linux-x86_64-410.78.run

執行run檔案:

sudo ./NVIDIA-Linux-x86_64-410.78.run -no-opengl-files
  • -no-opengl-files:表示只安裝驅動檔案,不安裝OpenGL檔案。這個引數不可省略,否則會導致登陸介面死迴圈,英語一般稱為”login loop”或者”stuck in login”。
  • -no-x-check:表示安裝驅動時不檢查X服務,非必需。
  • -no-nouveau-check:表示安裝驅動時不檢查nouveau,非必需。
  • -Z, --disable-nouveau:禁用nouveau。此引數非必需,因為之前已經手動禁用了nouveau。
  • -A:檢視更多高階選項。

必選引數解釋:因為NVIDIA的驅動預設會安裝OpenGL,而Ubuntu的核心本身也有OpenGL、且與GUI顯示息息相關,一旦NVIDIA的驅動覆寫了OpenGL,在GUI需要動態連結OpenGL庫的時候就引起問題

之後,按照提示安裝,成功後重啟即可。
如果提示安裝失敗,不要急著重啟電腦,重複以上步驟,多安裝幾次即可。

Driver測試:

nvidia-smi          #若列出GPU的資訊列表,表示驅動安裝成功
nvidia-settings     #若彈出設定對話方塊,亦表示驅動安裝成功

2. 安裝 CUDA 9.0

點選這裡訪問 CUDA 下載頁面。
點選這裡訪問 CUDA 9.0 下載頁面。

sudo sh cuda_9.0.176_384.81_linux.run --no-opengl-libs
  • –no-opengl-libs:表示只安裝驅動檔案,不安裝OpenGL檔案。必需引數,原因同上。注意:不是-no-opengl-files。
  • –uninstall (deprecated):用於解除安裝CUDA Driver(已廢棄)。
  • –toolkit:表示只安裝CUDA Toolkit,不安裝Driver和Samples。
  • –help:檢視更多高階選項。

閱讀安裝說明 Preface
回車鍵翻頁,空格鍵快速翻頁。
之後,按照提示安裝即可。我依次選擇了:

  1. accept #同意安裝
  2. n #不安裝Driver,因為已安裝最新驅動
  3. y #安裝CUDA Toolkit
  4. <Enter> #安裝到預設目錄
  5. y #建立安裝目錄的軟連結
  6. n #不復制Samples,因為在安裝目錄下有/samples

CUDA Sample測試:

#編譯並測試裝置 deviceQuery:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

#編譯並測試頻寬 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest

如果這兩個測試的最後結果都是Result = PASS,說明CUDA安裝成功啦。

安裝 CUDA 9.0 官方補丁

sudo ./cuda_9.0.176.1_linux.run

sudo ./cuda_9.0.176.2_linux.run

sudo ./cuda_9.0.176.3_linux.run

sudo ./cuda_9.0.176.4_linux.run

3. 安裝 cuDNN v7.4.2

NVIDIA Developer Program註冊,並登入。
下載 cuDNN v7.4.2 (Dec 14, 2018), for CUDA 9.0

在這裡插入圖片描述

在下載目錄下解壓縮 cuDNN package

$ tar -xzvf cudnn-9.0-linux-x64-v7.tgz

將下列檔案複製到 CUDA Toolkit 目錄,並修改許可權

$ 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*

完成。