ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。

一、CUDA和NVIDIA显卡驱动安装

cuda的安装选项中其实包含了nvidia驱动的安装选项,不过网上好多资料都说不要再cuda中勾选nvidia驱动,而要自己去nvidia官网自己查好型号下载安装文件,手动安装nvidia驱动。
其实主要都是担心不同版本兼容性问题,我这里忍不住还是想尝试一下用cuda中的nvidia驱动会出现什么问题。

检查是否已经安装的nvidia驱动:
nvidia-smi

执行这条命令,如果有以下信息说明已经有nvidia驱动了,结束。
如果没有以下信息,说明还没有nvidia驱动,需要安装。
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第1张图片

禁用nouveau

安装Nvidia显卡驱动和系统自带的nouveau驱动会有冲突,所以要禁用nouveau。

lsmod | grep nouveau

执行这条命令,如果有信息,说明nouveau还在运行着,要禁用。
禁用方法:

sudo vi /etc/modprobe.d/blacklist.conf

在文本最后添加如下内容:

blacklist nouveau
options nouveau modeset=0

更新一下:

sudo update-initramfs -u

重启:

reboot

再次查看是否已经禁用:

lsmod | grep nouveau

执行这条命令,发现没有任何信息输出了,说明已经禁用了。

安装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
查看系统推荐的nvidia驱动版本
ubuntu-drivers devices

可以看到recommended的是nvidia-driver-450-server
这里可以我没有直接用命令(sudo apt-get install nvidia-settings nvidia-driver-430 nvidia-prime 或者 sudo ubuntu-drivers autoinstall)安装该驱动,因为看别人才那么多坑,总觉得事情没这么简单,哈哈,而且我也想试试用cuda中的nvidia驱动安装选项来安装驱动,所以这条命令我就看看而已。
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第2张图片
参考这篇博客:Ubuntu18.04安装nvidia显卡驱动

cuda版本选择、下载及安装

cuda官网
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第3张图片
如果是想搭环境跑深度学习的,尤其是pytorch,目前支持到cuda10.2,高于cuda10.2版本的话,使用pytorch时就不能用cuda了,所以这种情况下建议先查查pytorch的匹配cuda版本,比如下图所示pytorch和cuda适配版本:
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第4张图片
不然像我刚开始都捡最新的cuda11.1安装,装好之后才发现pytorch这个坑,然后又一阵折腾卸载cuda11.1、卸载nvidia驱动、卸载cudnn8.0(卸载参考了这篇文章ubuntu18.04卸载cuda10.1,安装cuda10.0又双踩坑)。

cuda10.2下载:
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第5张图片
cuda10.2安装:
执行xxxxxxx.run的过程中,会有选项提示,第一次选择“accept”,然后会提示nvidia driver、cuda toolkit相关的信息,就直接选"Install"继续安装,就是这里将进行nvidia驱动的自动匹配版本和安装。
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第6张图片

ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第7张图片
安装失败,报错log里显示驱动440安装失败:
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第8张图片
解决方法:关闭x服务Ubuntu18.04 关闭和开启图形用户界面。

如下所示,这样就表示cuda安装完成了:
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第9张图片

根据上述提示信息,需要配置环境变量:
sudo vi ~/.bashrc
打开文本后,在最后添加如下信息,具体因人而异,要和上图红框中提示信息一致:

export PATH="/usr/local/cuda-11.1/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH"

在这里插入图片描述

使其生效:

source ~/.bashrc

验证cuda是否成功安装:

cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

结果如下说明成功。
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第10张图片

查看cuda版本信息
cat /proc/driver/nvidia/version

在这里插入图片描述
或者

nvcc --version

在这里插入图片描述

nvidia驱动安装成功

按照商住步骤完成后,再次查看nvidia-smi信息,可以看到已经安装成功。
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第11张图片

二、cuDNN安装

cuDNN下载与安装:

cuDNN下载

cuDNN安装官方帮助文档

cudnn的版本也是参考了pytorch的常用配置,选用cudnn7.6.5。
在这里插入图片描述

ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第12张图片

方法1:使用tar文件安装

推荐这种方式吧,用Deb文件安装的话,在编译caffe时,我不太确定cuda的路径,资料也比较少。
下载上图中的tar文件,下载后发现是.solitairetheme8后缀名的文件,将其重命名为.tgz, 然后使用tar -zxvf file.tgz命令解压即可。(
https://blog.csdn.net/littlehaes/article/details/103202156)

参考cuDNN安装官方帮助文档的描述:
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第13张图片

方法2:使用Deb文件安装

Deb安装的优点时,不用手动拷贝cudnn相关的头文件到/usr/local/目录,但也导致我在编caffe时不知道怎么配cuda的路径,所以我建议用方法1安装吧。
下载上图中的Deb文件,3个都下载。
参考cuDNN安装官方帮助文档的描述:
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第14张图片
依次安装:

sudo dpkg -i libcudnn7_xxx +cuda10.2_amd64.deb
sudo dpkg -i libcudnn7-xxx +cuda10.2_amd64.deb
sudo dpkg -i libcudnn7-samples_xxx +cuda10.2_amd64.deb
验证cudnn安装成功

参考cuDNN安装官方帮助文档的描述:
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第15张图片
按照上图命令,跑了一个测试demo是minist手写体识别的例子,结果显示test pass,成功。

注意:建议要耐心看看cuDNN安装官方帮助文档,网上的资料可能版本不同,安装、验证方式也会有差异,官方文档的更新和cuDNN版本是同步的,是最可靠的,而且还有关于升级cuDNN版本的方法等。

查看cudnn版本

如果是方法1 tar文件安装的那么用这条命令可以查看:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第16张图片

如果是cudnn8.0及以上,版本信息在cudnn_version.h中,可以用下面的命令查看:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第17张图片
如果是方法2 Deb文件安装的,那么用下面的命令查看:
网上说用下面这条查看cudnn版本信息,我试了不行,在/usr/local/cuda/include/目录下找不到这个cudnn.h头文件:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述
感觉奇怪上面cudnn的验证都过了说明已经安装成功了,怎么会查不到版本信息呢?找了一下cudnn.h这个头文件确实没有在/usr/local/cuda/include/目录下,而是在/usr/include/目录下。
于是就试了一下这条命令:

cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

结果是没有任何打印。
打开这个cudnn.h看了一下里面确实没有版本的定义,不过它包含了一个定义版本的头文件cudnn_version.h,于是又尝试了下面这条命令:

cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

版本信息就出来了,如下图所示:
ubuntu18.04+cuda10.2+cudnn7.6.5,并使用CUDA自动安装NVIDIA驱动而非手动。_第18张图片

你可能感兴趣的:(计算机,人工智能,ubuntu,linux,运维)