安装CUDA10.1+CUDNN
首先查看一下显卡信息。
nvidia-smi
会显示类似如下信息:
$ nvidia-smi
Tue Jun 16 21:58:01 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.59 Driver Version: 440.59 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| 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 1060 Off | 00000000:01:00.0 On | N/A |
| N/A 43C P0 24W / N/A | 289MiB / 6069MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1470 G /usr/lib/xorg/Xorg 140MiB |
| 0 1676 G /usr/bin/gnome-shell 102MiB |
| 0 2596 G ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files 39MiB |
| 0 4035 G /usr/lib/firefox/firefox 1MiB |
+-----------------------------------------------------------------------------+
查看cuda的版本:
一、安装NVIDIA卡驱动
检查自己电脑的gpu是否支持CUDA
lspci | grep -i nvidia
#没有lspci就用下列命令安装
apt install pciutils
输出类似:NVIDIA Corporation GM108M [GeForce 940M] (rev a2)
禁用nouveau并重启(如果不禁用,安装Nvidia显卡的官方驱动和系统自带的nouveau驱动会冲突)
查看nouveau使用情况
lsmod | grep nouveau
#没有lsmod就用下列命令安装
apt install module-init-tools
如果有输出说明nouveau正在加载(如果没有输出则代表nouveau已被禁用)
用gedit打开禁用列表
sudo gedit /etc/modprobe.d/blacklist.conf
在末尾添加如下语句,保存然后退出
blacklist nouveau
options nouveau modeset=0
更新禁用列表并重启
sudo update-initramfs -u
reboot
查看是否禁用成功
lsmod | grep nouveau
无输出则代表禁用成功
安装N卡驱动
先安装 gcc :
sudo apt install build-essential
注:如果用阿里源可能出现依赖问题,建议使用清华源
删除旧的NVIDIA驱动:
sudo apt-get remove nvidia-*
sudo apt-get autoremove
或者
sudo apt-get --purge remove nvidia-*
# sudo ./NVIDIA-Linux-x86_64-410.57.run -uninstall
sudo update-initramfs -u
sudo reboot now
两组命令二选一即可
更新系统软件仓库列表
sudo apt-get update
使用以下命令查看系统推荐安装哪个版本的N卡驱动
ubuntu-drivers devices
qyh@qyh-mas$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:1d.0/0000:3c:00.0 ==
modalias : pci:v000010DEd0000134Dsv000017AAsd000039C8bc03sc02i00
vendor : NVIDIA Corporation
model : GM108M [GeForce 940MX]
driver : nvidia-driver-410 - third-party free
driver : nvidia-driver-415 - third-party free
driver : nvidia-driver-390 - third-party free
driver : nvidia-driver-430 - third-party free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
recommended关键词所对应的版本就是推荐版本,这里说明系统推荐安装的N卡驱动是"nvidia-driver-430"
选择你看到推荐版本安装,本例使用nvidia-driver-430,然后安装几个必要组件,命令如下
sudo apt-get install nvidia-settings nvidia-driver-430 nvidia-prime
如果你需要的是其他版本则把命令中430换成对应版本编号
然后继续在命令行输入:
sudo ubuntu-drivers autoinstall
将会自动安装所推荐的nvidia版本驱动
安装双显卡切换指示器然后重启
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install prime-indicator
sudo reboot
新启动后会在右上角看到一个显卡指示器,默认情况下是Nvidia图标,说明现在使用的是N卡,点击这个图标选择"Quick switch graphics…",按下确认后会自动重启桌面,此时就会切换到Intel显卡了,图标也变成了Intel。
大家可以尝试着在两个显卡之间切换,并使用下面的命令查看是否切换成功,然后测试其性能
切换到Intel卡后,查看N卡是否关闭,如果N卡末尾是(rev ff),则表示成功关闭了N卡,现在使用的是I卡,如果末尾不是ff,则说明现在使用的是N卡
lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation .... (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation .... (rev ff)
或者可以直接使用下面的命令来查看N卡状态
lspci | grep NVI
qyh@qyh-mas:$ lspci | grep NVI
3c:00.0 3D controller: <font color="#EF2929"><b>NVI</b></font>DIA Corporation GM108M [GeForce 940MX] (rev a2)
qyh@qyh-mas: $ lspci | grep VGA
00:02.0 <font color="#EF2929"><b>VGA</b></font> compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
二、安装CUDA(以cuda10.1为例)
在http://developer.nvidia.com/cuda-downloads上下载安装包
如下图选择操作系统安装类型
你自己可以建个文件夹用来存放cuda,然后在文件夹中依次输入上述两条命令:
sudo wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
sudo sh cuda_10.1.243_418.87.00_linux.run
安装过程中根据出现的提示中选择continue和accept,直到出现如下画面
由于之前已经安装了Nvidia的显卡驱动,这里不安装driver,那么只需要移动到Driver,按enter键,将"[]"中的X去掉即是不选择.然后再选择Install。(因为我们只是调用CUDA,不去写CUDA程序,所以Samples也可以选择不安装)
安装成功则会出现
添加环境变量(使用vi编辑器不会用请百度)
sudo vi ~/.bashrc
在文件末尾添加
export PATH="/usr/local/cuda-10.1/bin:$PATH"
export LD_LIBRARY_PATH="/usr/lcoal/cuda-10.1/lib64:$LD_LIBRARY_PATH"
保存并退出,然后使其生效
source ~/.bashrc
在终端输入
cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
结果如图:
出现Result = PASS则表示安装成功通过!!
在终端输入命令,实时查看GPU的使用情况:
watch -n 1 nvidia-smi
三、安装CUDNN
下载cuDNN for 对应版本的cuda
解压后进入cudnn目录,应该能看到cuda文件夹
输入以下指令
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
查看cuda版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
显示类似以下信息
从上到下输出7 6 4 即表示cudnn7.6.4