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: n
Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter 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: y
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: y
Enter 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就是上面的螺絲刀等工具。
下載安裝參考CSDN。