首先,Ubuntu下查看Nvidia显卡的详细信息:
nvidia-smi
$ nvidia-smi
Fri Aug 16 08:46:25 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26 Driver Version: 430.26 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 940MX Off | 00000000:3C:00.0 Off | N/A |
| N/A 46C P0 N/A / N/A | 183MiB / 2004MiB | 3% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 3038 G /usr/lib/xorg/Xorg 94MiB |
| 0 4709 G /usr/bin/gnome-shell 86MiB |
+-----------------------------------------------------------------------------+
查看cuda 版本:
cat /usr/local/cuda/version.txt
or
nvcc -V
$ cat /usr/local/cuda/version.txt
CUDA Version 10.1.243
查看cudnn版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如果上述命令你都没有输出,那么请往下看:
检查自己电脑的gpu是否CUDA-capable
lspci | grep -i nvidia
#没有lspci就安装
apt install pciutils
输出:NVIDIA Corporation GM108M [GeForce 940M] (rev a2)
禁用nouveau并重启(安装Nvidia显卡的官方驱动和系统自带的nouveau驱动冲突)
lsmod | grep nouveau
#没有lsmod就安装
apt install module-init-tools
如果有输出说明nouveau正在加载
打开禁用列表
sudo gedit /etc/modprobe.d/blacklist.conf
在打开文本的最后一行添加:
blacklist nouveau
options nouveau modeset=0
更新,重启:
sudo update-initramfs -u
reboot
再次查看是否禁用nouveau
lsmod | grep nouveau
重点:
1.删除旧的NVIDIA驱动:
$sudo apt-get remove nvidia-*
$sudo apt-get autoremove
2.更新系统软件仓库列表
~$ sudo apt-get update
3.使用下面的命令查看系统推荐安装哪个版本的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 950MX]
driver : nvidia-driver-410 - third-party free
driver : nvidia-driver-415 - third-party free
driver : nvidia-driver-390 - third-party free
driver : nvidia-driver-450 - third-party free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
在上面这些输出中可以看到recommended关键词,说明系统推荐安装的N卡驱动是"nvidia-driver-450"
4.选择你看到推荐版本安装,本例使用nvidia-driver-450,然后安装几个必要组件,命令如下
$ sudo apt-get install nvidia-settings nvidia-driver-450 nvidia-prime
我的建议安装的是nvidia-450版本驱动,然后继续在命令行输入:
$ sudo ubuntu-drivers autoinstall
将会自动安装所推荐的nvidia-450版本驱动
5.安装双显卡切换指示器
~$ sudo add-apt-repository ppa:nilarimogard/webupd8
~$ sudo apt-get update
~$ sudo apt-get install prime-indicator
6.重新启动
~$ 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)
如果上面的命令没有看到NVIDIA卡,可以直接使用下面的命令来查看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 10.1
1.在http://developer.nvidia.com/cuda-downloads上下载安装包
2.安装成功
4.添加环境变量
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
5.终端输入
cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
结果如图:
出现Result = PASS则表示安装成功通过!!
6.在终端输入命令,实时查看GPU的使用情况:
watch -n 1 nvidia-smi
安装CUDNN
1.下载cuDNN v7.6.5 , for CUDA 10.1
https://developer.nvidia.com/rdp/cudnn-archive
进入解压后的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
若是在无界面环境下,下载cuDNN Library for Linux
查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
从上到下输出7 6 4 即表示cudnn7.6.4
参考:
https://blog.csdn.net/BigData_Mining/article/details/99670642