在 Ubuntu 14.04/16.04 安裝 NVIDIA 顯卡驅動程式、 CUDA Toolkit 及 cuDNN

Maniac.tw
5 min readOct 31, 2017

--

2019/07/21 更新:已經 2019 年了,比較舊的方法一定有比較多的問題,如果有同樣的需求請先看過新的一篇,新的方法比過去好裝很多了。
https://medium.com/@maniac.tw/ubuntu-18-04-%E5%AE%89%E8%A3%9D-nvidia-driver-418-cuda-10-tensorflow-1-13-a4f1c71dd8e5

在安裝過程踩了不少坑,在無數次 trial and error 之下找到最簡單的安裝方式。

前置作業

如果我們需要安裝 TensorFlow 1.3 支援 GPU 運算,必須詳閱官網說明:https://www.tensorflow.org/install/install_linux#nvidia_requirements_to_run_tensorflow_with_gpu_support

可見需求如下:
1. CUDA 8.0
2. cuDNN v6
3. GPU card with CUDA Compute Capability 3.0 or higher.

第三點的意思是你的顯卡支援 CUDA 運算性能 3.0+ 才可以用,我們可以查 wiki,舉例來說:
如果你的顯卡是 GeForce GTX 1080 Ti,查表可知 Compute Capability 為 6.1,超過 3.0,所以可以支援。
(不過看上面的 wiki 其實 CUDA 9.0 才需要 3.0+ 的 Compute Capability,所以 TensorFlow 官網應該是高估了?)

安裝 CUDA

首先,安裝 CUDA 過程就會安裝 NVIDIA 顯卡驅動程式,所以不需要先手動安裝顯卡驅動程式。

再來,要知道這個版本的 TensorFlow 目前還不支援 CUDA 9.0 除非你願意手動編譯 source code。所以我們還是乖乖找 CUDA 8.0。但是直接上官網找會只能載到 CUDA 9.0,所以要 Google "CUDA 8.0" 來找到想要的版本:
https://developer.nvidia.com/cuda-80-ga2-download-archive
把 base installer 和 patch 載下來以後就可以開始安裝。

重新啟動,在登入介面下 Ctrl + Alt +F1 開啟純文字介面,關閉 lightdm

$ sudo service lightdm stop

卸載舊的 NVIDIA 驅動程式(如果曾經安裝過,否則省略)

這部分有三個分支:

1. 當時用 apt-get 安裝驅動程式:

$ sudo apt-get remove --purge nvidia*

2. 當時用 dpkg 安裝驅動程式:

先檢查

$ dpkg -l 'nvidia*'

那就要用

$ dpkg --remove nvidia-{Name}

必須輸入全名才能移除。

3. CUDA 安裝程式,那就會留下 nvidia-uninstall,直接執行就好了

安裝 CUDA

$ sudo sh ./cuda_8.0.61_375.26_linux-run

一路按 yes 或是 default 就好

安裝 cuDNN

選擇需要的版本,例如:
cuDNN v6.0 Runtime Library for Ubuntu14.04 (Deb)

下載下來,然後直接安裝

$ dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb

測試看看,如果遇到 libcudnn.so.5 is not a symbolic link 的問題,那就要設定如下:

設定 symbolic link

$ cd /usr/local/cuda-8.0/targets/x86_64-linux/lib/
sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so

設定環境變數

sudo vim /etc/profile

加入以下兩行

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda

大功告成。印象中我只做了這些,之後再用新電腦來測試看看有沒有問題。
如果還有其他坑,有空我再慢慢補上。

--

--