代码改变世界

安装nvidia显卡驱动+cuda+cudnn

2020-03-26 10:07  Eagel  阅读(2598)  评论(2编辑  收藏  举报

应用背景:darknet+yolov3训练自己数据,特定场景目标识别,小目标检测

CPU训练太慢,计算机上有GT 730显卡,虽挫但聊胜于无,搞之。

详情见参考链接,本文只做简要记录。

0. 查看显卡信息

(1)输入如下命令:

lshw -c video

  

 (2)为了再次确认一遍,你还可以使用这个命令查看你可以使用的驱动:

ubuntu-drivers devices

  

 (3)其他类似命令

root@ubuntu:/home/ubuntu# lspci |grep -i vga
02:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX TITAN X] (rev a1)

(4)查看GPU型号

lspci | grep -i nvidia

(5)查看NVIDIA驱动版本

sudo dpkg --list | grep nvidia-*

1. 安装显卡驱动

(1)Software & Updates -> Additional Drivers选择所需版本安装即可(如,proprietary, tested)。

几经折腾,最后其实就这个方法搞定。

安装cuda时,其实包含了显卡驱动,而且是对应版本,所以安装显卡驱动应该可以跳过,直接在安装cuda时一起安装驱动。

但是,安装cuda时选择安装驱动,可能会报错,网上很多解决办法,有点麻烦。

因此,在Software & Updates -> Additional Drivers安装也是个不错的选择。

重启才能完成驱动安装。

(2)ubuntu命令行安装,效果类似(1)的方法

ubuntu-drivers devices
sudo ubuntu-drivers autoinstall

驱动安装完成,重新启动,就能看到GPU识别成功了:

 

 

 你也可以选择,只安装其中一个驱动,命令如下:

sudo apt install nvidia-340 (340等从ubuntu-drivers devices命令输出中选择)

(3)官方下载显卡驱动安装

2. 安装cuda

注意,不同版本cuda对显卡驱动版本有一定要求。比如,cuda-10.2要求驱动440版本,cuda-10.1要求驱动418版本。

上一步骤(1)安装驱动435版本,满足cuda-10.1的要求,因此,应当下载cuda-10.1进行安装。

官网下载安装包:

各个版本: CUDA Toolkit Archive

根据官网说明安装即可:

例如:CUDA Toolkit 10.2 Download

wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run

根据提示安装即可,如果上一步已经安装了驱动,这里要取消驱动安装。否则,很可能失败。

注意,在.bashrc文件末尾加入:

#cuda
export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

3. 安装cudnn

官网下载安装包,安装即可,下载安装包需要注册NVIDIA账号。

注意,cudnn的版本应该与cuda版本对应。

各个版本:cuDNN Archive

下载了 deb 格式的文件,打开终端找到下载的deb 文件所在的位置,然后按步骤安装三个文件:

sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.1_amd64.deb

Runtime 和 Developer 版本的区别是:
developer library 包含了在Ubuntu系统上开发深度学习时所需的cuDNN头文件,如果你不需要开发编译任何深度学习程序,而只是将其用于运行某些深度学习应用,那么只下载“runtime library”就足够了。
我是把3个文件都下载下来了,分别安装。

 

主要参考链接:cuDNN的安装(版本选择, Runtime 还是 Developer)

验证那块有点不一样,因为我的情况是安装到/usr/include了。

官方安装指南:https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#prerequisites

4. 显示当前GPU使用情况

nvidia-smi 

  

 

 

 

nvidia-smi(显示一次当前GPU占用情况)
nvidia-smi -l(ubuntu1804,每5秒刷新一次并显示)
watch -n 2 nvidia-smi (其中,2表示每隔6秒刷新一次终端的显示结果)

我这儿没有启动任何利用显存资源的进程,所以没有占用任何资源。

 

第一栏的Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的)。 

第二栏的Temp:是温度,单位摄氏度。 
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。 
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。 
第五栏的Bus-Id是涉及GPU总线的东西
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。 
第五第六栏下方的Memory Usage是显存使用率。 
第七栏是浮动的GPU利用率。 
第八栏上方是关于ECC的东西。 
第八栏下方Compute M是计算模式。 
下面一张表示每个进程占用的显存使用率。

显存占用和GPU占用是两个不一样的东西,显卡是由GPU和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。

 

参考链接:

各种查看版本

cuda_geforce

cuda-gpus

NVIDIA Developer Program

cuda-toolkit

cuda-legacy-gpus
supported-gpus
Ubuntu16.04+cuda8.0安装教程
DOWNLOAD DRIVERS FOR NVIDIA GRAPHICS CARDS
nvidia-drivers-on-ubuntu-16-04-geforce-gt-730m
Ubuntu下安装CUDA8.0及nvidia驱动(详细教程)
rcuda
Ubuntu16.04下安装cuda和cudnn的三种方法(亲测全部有效)
真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)
Ubuntu16.04+cuda8.0+caffe安装教程
NVIDIA CUDA Installation Guide for Linux
ubuntu 18.04 安装yolov3 + GPU + CUDA+ cuDNN
cuDNN Archive

cuDNN Support Matrix
cuDNN的安装(版本选择, Runtime 还是 Developer)

CUDA Toolkit Archive