0 写在前面
注意两个对应关系:
- Tensorflow或Torch必须与CUDA版本对应:Tensorflow的对应关系,Torch的对应关系。
- GPU驱动能够支持的最高CUDA版本,如果不支持就需要更新驱动。注意驱动支持的版本向下兼容,如果驱动版本最高支持CUDA 10.x,那么它也能支持CUDA 9.x。
1 安装N卡驱动
安装N卡驱动前必须先禁用NVIDIA Nouveau驱动,否则会出现ubuntu18双系统安装后登陆重启卡死问题
终端输入以下命令没有返回结果说明禁用成功。
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, 然后终端执行nvidia-settings
出现图形设置界面说明到此N卡驱动安装成功。
2 安装CUDA
2.1 下载安装CUDA
点击CUDA各版本链接,选择一个版本比如CUDA 11.3.0按提示下载,如下图:
按提示终端输入sudo sh cuda_10.1.105_418.39_linux.run
,然后一直按F键读条到100%,输入accept
来到设置画面,如下图:
这里只需要安装
CUDA Toolkit 11.3
即可,在安装之前需要更改路径,选择Options
回车来到如下画面:
需要更改Toolkit
以及Library
的路径,都改成相同路径比如/home/jj/cuda-11.3/
即可,其中jj
是用户名。
上述设置好之后安装即可。
2.2 配置环境变量
终端输入:
cd ~
sudo gedit .bashrc
打开文档后末尾加入以下信息:
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda-10.0/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
然后source .bashrc
或者重启即可,终端输入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 Archive下载CUDA10.0对应的版本:
解压:
tar -zxvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
复制粘贴:
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64/
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h
sudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*
4 卸载CUDA
以cuda10.0为例,
cd /usr/local/cuda-10.0/bin/
sudo ./uninstall_cuda_10.0.pl
删除残余文件
sudo rm -rf /usr/local/cuda-10.1