**Ubuntu20.04安装CUDA cuDNN **

  • 一. 显卡驱动、CUDA 、cuDNN 和 cuda版本的pytorch的关系
  • 二. NVIDIA(英伟达)显卡驱动安装
  • 三. 安装显卡驱动
  • 安装cuda和cudnn前的准备工作
    • 安装一系列的版本的查询
  • 四. 安装CUDA与测试
    • 4.1下载与安装
    • 4.2配置CUDA环境变量
    • 4.3 CUDA测试
  • 五. 安装cuDNN
    • cudnn 测试
  • 五 安装pytorch

一. 显卡驱动、CUDA 、cuDNN 和 cuda版本的pytorch的关系

NVIDIA的显卡在有驱动的前提下我们才能够使用的。平时所说的显卡的驱动和CUDA驱动不是一个东西,对于没有用过显卡的我来说开始就搞混了。CUDA 是用于显卡并行计算的预算平台,cuDNN专门加速深度学习算法在显卡上的计算,个人理解相当于加速器。cuda 版本的pytorch相当于能够在pytorch框架中很好的调用显卡,用来处理算法。
该篇文章用于自己初次配置环境记录。有些地方可能写的不够清晰,如有错误后面继续更新。
cuda: Compute Unified Device Architecture,是一种有NVIDIA推出的通用并行计算架构, 该架构使GPU能够解决复杂的计算问题。

cudnn: 是NVIDIA 推出的用于深度神经网络的GPU加速库,他强调性能,易用性和低内存开销。

cuda和cudnn的关系: cudnn是基于cuda架构开发的专门用于深度神经网络的GPU加速库。cuda可以理解为一个大的商圈,但这个商圈是空的,还未装修。cudnn可以理解为装修后的房间,例如负一楼专门针对游乐(深度神经网络)装修成大型游乐厂。

二. NVIDIA(英伟达)显卡驱动安装

注意!ubuntu系统安装一般会自带驱动,在安装NVIDIA驱动以前需要禁止系统自带显卡驱动nouveau:可以先通过指令lsmod | grep nouveau查看nouveau驱动的启用情况,如果有输出表示nouveau驱动正在工作,如果没有内容输出则表示已经禁用了nouveau。
图片:
我的电脑有有输出,表示nouveau启动了,下面进行nouveau的禁用:

  • 打开终端,在终端输入下面指令

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

    之后弹出blacklist.conf文件:
    图片:

  • 在blacklist.conf文件末尾加上这两行,并保存:

    blacklist nouveauoptions nouveau modeset=0
  • 然后在终端输入

    sudo update-initramfs -u#应用更改
  • 重启,就禁止了ubuntu20.04自带的nouveau显卡驱动了,接下来我们就可以安心的安装自己想要的NVIDIA的驱动程序了

三. 安装显卡驱动

ubuntu20.04 安装NVIDIA驱动很容易,只只需要打开系统设置->软件和更新->附加驱动->选择NVIDIA驱动->应用更改(我这里选择的是510版本的驱动)。该界面会自动根据电脑上的GPU显示推荐的NVIDIA显卡驱动。

稍等即可完成。

安装cuda和cudnn前的准备工作

安装一系列的版本的查询

到pytorch官网查询,能够支持的CUDA的版本有哪些,最好是对应的版本,然后在到cudnn的官网查询cudnn支持的CUDA的版本,

四. 安装CUDA与测试

4.1下载与安装

NVIDIA(英伟达)显卡驱动安装完成后,重启电脑,在终端输入nvidia-smi输出如下图所示的结果就表示安装成功了。下图中左边的红色框内表明,刚刚安装好的显卡驱动版本(我的510版本),右面的红色框显示的是这个版本的显卡驱动支持的CUDA最高版本为11.6(注意这里并不表明已经安装了CUDA,而是刚安装的显卡驱动支持的CUDA的最高版本)

知道自己要安装的CUDA版本后,到NVIDIA官网的CUDA下载页面(点击这个蓝色字体即可)找到对应的CUDA版本,如图所示,我选择的是CUDA 11.6的版本。

点进去之后会出现如下图所示的界面,依次选择1234。然后弹出三种安装方法,根据安装经验这里推荐采用 5 runfile(local)方法,即选择如下图中的红圈中的选项。这是由于CUDA的安装过程需要很多依赖库文件,CUDA的run文件虽然比另外两种安装方法的文件大,但是它包含了所有的依赖库文件,所以采用相对来说很容易安装成功。

在安装CUDA11.0之前需要首先安装一些相互依赖的库文件,在终端运行下面指令:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

然后在返回上面界面,依次复制下面红框中两条指令到终端中。(解释一下weget:下载安装包到终端运行的目录中,所以下面直接sudo运行即可。)

运行上面指令后,会弹出如下界面,按⬇按键,选择Continue 在按下回车,然后再输入accept
接着,如下图所示,在弹出的界面中通过Enter键,取消Driver和450.51.05的安装(这里不取消会覆盖掉上面安装的驱动,会出问题),然后点击Install,等待…

4.2配置CUDA环境变量

CUDA安装完成后,需要配置变量环境才能正常使用。首先在终端输入

sudo gedit ~/.bashrc

打开如下图所示的.bashrc文件,然后,如下图所示在.bashrc文件的最后添加以下CUDA环境变量配置信息(cuda-11.6 是版本信息,不同版本需要改到你自己的版本号),然后保存文件。

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

4.3 CUDA测试

最后,在终端输入source ~/.bashrc或者重新启终端使之生效。这时,我们就可以在终端输入nvcc -V查看CUDA的安装信息,如下图所示,至此CUDA安装成功。
其中,LD_LIBARARY_PATH为动态库搜索路径。

以上的添加环境变量官网有教程,也可以参照,我目前没找到在哪里找到更新。

五. 安装cuDNN

首先进入cuDNN官网
网址:https://developer.nvidia.com/rdp/cudnn-archive
先注册个nvidia账号,用账号登才能下载。。。

选择对应版本的cuDNN,因为我的CUDA 是11.6版本的,所以我选择的是上图红色框中的,使用11.x版本。点开。

我这里选择的是红框中的,感觉过程比较简单,其他的目前没尝试过。下面的额以一个红框是我的下载目录,一般的下载目录就是主目录下的名为‘下载’的文件夹。因为安装包是xz结尾的压缩文件,先用xz -d cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz,在用tar xf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar 解压,加压之后就是第二个红框里面的。

接下来就是安装:这里参考的是官方文档

  • 鼠标右键 点击在终端打开,进入终端。
  • 依次运行指令
    sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
  • 将所有的.h 头文件都复制到 /usr/local/cuda 中,完成。

cudnn 测试

在终端中输入如下指令:

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

输出红色框里面的信息就是成功。

笨方法:也可以直接去目录下看看这个cudnn_version.h文件,可以点开红框内容看看 。其中也会有右面终端中输出的信息。

五 安装pytorch

首先是安装pycharm和anaconda:
—–首先是安装pycharm:参考link
—–安装anaconda:参考link
官网找到合适的pycharm版本:创建环境,直接用命令行安装。