0 寫在前面
安裝環境:ubuntu18.04以及GTX1050Ti筆記本
為什么要安裝CUDA?
參考百科,CUDA是英偉達推出的集成技術,通過該技術可利用GeForce 8 以后的GPU或者較新的Quadro GPU進行計算。例如典型的tensorflow-GPU和pyCUDA安裝之前都要先安裝CUDA。
1 安裝N卡驅動
安裝ubuntu系統之后自帶開源NVIDIA Nouveau驅動,但是很容易出現ubuntu18雙系統安裝后登陸重啟卡死問題。安裝N卡驅動(即CUDA的硬件支持)之前必須先禁用這個驅動。 終端輸入以下命令沒有返回結果說明禁用成功。
lsmod | grep nouveau
然后終端輸入如下可以查看推薦的驅動版本:
ubuntu-drivers devices
筆者顯示結果如下,說明nvidia-driver-435是推薦的
jj@jj-u:~/Downloads$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C8Csv0000103Csd0000838Fbc03sc00i00
vendor : NVIDIA Corporation
model : GP107M [GeForce GTX 1050 Ti Mobile]
driver : nvidia-driver-435 - distro non-free recommended
driver : nvidia-driver-430 - distro non-free
driver : nvidia-driver-390 - distro non-free
driver : nvidia-driver-410 - third-party free
driver : xserver-xorg-video-nouveau - distro free builtin
此時終端輸入sudo ubuntu-drivers autoinstall
即可自動安裝,或者輸入sudo apt install nvidia-driver-435
安裝,然后重啟系統即可。
安裝過程中可能會跳出讓你進入什么Key界面,這是因為安全模式安裝第三方驅動需要寫入key,具體遇到可百度,最簡單粗暴的方法就是進入BIOS關閉安全模式啟動,然后再安裝n卡驅動。
重啟后終端輸入nvidia-smi
,結果如下:
jj@jj-u:~/Downloads$ nvidia-smi
Tue Jan 7 12:31:39 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 105... Off | 00000000:01:00.0 On | N/A |
| N/A 42C P0 N/A / N/A | 523MiB / 4040MiB | 18% Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1491 G /usr/lib/xorg/Xorg 210MiB |
| 0 1658 G /usr/bin/gnome-shell 146MiB |
| 0 2808 G /proc/self/exe 12MiB |
| 0 7951 G ...quest-channel-token=9976497191416364032 142MiB |
| 0 8743 G /opt/teamviewer/tv_bin/TeamViewer 9MiB |
+-----------------------------------------------------------------------------+
可以看到該驅動支持的最高CUDA版本是10.1,刻意提及最高版本是因為某些比如tensorflow-gpu 1.x版本或最高支持CUDA9.1,但是驅動支持向下兼容所以可以安裝CUDA9.1,但最好版本別太老。
然后終端輸入nvidia-settings
出現圖形設置界面說明到此N卡驅動安裝成功。
2 安裝CUDA
2.1 下載安裝CUDA
點擊CUDA各版本鏈接,由于tensorflow 1.x版本可能不兼容CUDA10.1,所以選擇CUDA10,按提示下載了2G左右的runfile,然后按提示終端輸入sudo sh cuda_10.1.105_418.39_linux.run
,然后一直按F鍵讀條到100%,然后根據終端提示輸入即可,NVIDIA Accelerated Graphics Driver由于上一步安裝過驅動就否了,
Do you accept the previously read EULA?
accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: nInstall the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: yEnter Toolkit Location[ default is /usr/local/cuda-10.0 ]: Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: yInstall the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: yEnter CUDA Samples Location[ default is /home/jj ]: Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...
2.2 配置環境變量
終端輸入:
cd ~
sudo gedit .bashrc
打開文檔后末尾加入以下信息:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
然后source .bashrc
或者重啟XD即可,終端輸入nvcc -V
可檢查是否安裝成功,結果如下:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130
或者終端輸入:
cd ~/NVIDIA_CUDA-10.0_Samples/1_Utilities/bandwidthTest
make
./bandwidthTest
返回Result = PASS
代表cuda安裝成功。
3 安裝cuDNN
cuDNN是用于深度神經網絡的GPU加速庫,如果CUDA是工作臺,那么cuDNN就是上面的螺絲刀等工具。
下載安裝參考

。