Ubuntu 22.04中安装Nvidia显卡驱动,cuda, cudnn, pytorch
简要介绍如何一步步安装,直到能用pytorch跑深度学习代码。主要分成四大步:1. 安装Nvidia显卡驱动 2. 安装cuda 3. 安装cudnn 4. 安装pytorch
一、 安装Nvidia显卡驱动
步骤 1: 登录Nvidia网站(https://www.nvidia.com/download/index.aspx),搜索自己需要的显卡驱动进行安装即可(这一步请大家自行查找适合自己显卡的驱动,自行安装。)
Fig. 1 Nvidia显卡驱动网站
步骤 2:在终端输入命令 nvidia-smi 检查显卡驱动是否存在,请见下图Fig. 2所示,
Fig. 2 显卡驱动信息
在Fig. 2中,我们可以看到系统中存在的Nvidia显卡驱动为535.183.01(恭喜,Nvidia显卡驱动安装成功;如果发现没有驱动,需要重新操作来保证Nvidia显卡驱动的成功安装),旁边显示的CUDA Version: 12.2是这个Nvidia显卡驱动版本535.183.01兼容的cuda的最高版本。也就是说,我们在当前显卡驱动版本下,可以安装cuda 12.2, 也可以安装更低的cuda版本,如cuda 12.1或者cuda 11.8。
二、 安装cuda
有了上述Fig. 2提供的cuda版本信息,我们可以进入Nvidia网站搜索合适的cuda版本,来进行安装。首先进入下图Fig. 3所示的Nvidia CUDA Toolkit网站(https://developer.nvidia.com/cuda-downloads),
Fig. 3 Nvidia的cuda安装网站
在Fig. 3中,点击“Archive of Previous CUDA Releases”进入cuda历史版本的页面,寻找合适的cuda版本。点击后,进入下图Fig. 4所示的网页,
Fig. 4 选择cuda 11.8版本
在Fig. 4中,选择cuda 11.8版本(与我们上述的Nvidia显卡驱动版本兼容,因为我们的Nvidia显卡驱动支持最高到12.2的cuda版本)。点击“CUDA Toolkit 11.8.0”, 进入如下图Fig. 5所示的网页,
Fig. 5 选择系统类别和版本等信息
在Fig. 5中,我们按照自己电脑的实际情况,按照顺序选择,
(1)Linux
(2)x86_64(我们可以在终端输入命令uname -m来查看电脑的体系架构,我的显示结果的是x86_64)
(3)Ubuntu
(4) 22.04 (根据自己的Ubuntu版本进行选择)
(5)runfile (选择这个格式的文件安装起来很方便,只需要使用Fig. 5图片下方自动生成的两行命令进行下载和安装即可)
在Fig. 5中,在我们选择了操作系统类型(Linux),系统体系架构(x86_64),系统类别(Ubuntu),系统版本(22.04)和安装文件类型(runfile)后,自动生成了如Fig. 5图片下方生成的两行安装命令,我们在终端先运行第一行命令(命令如下所示),运行结果如Fig. 6所示。
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
Fig. 6 第一行命令运行结果截图
然后我们运行第二行命令(命令如下所示),
sudosh cuda_11.8.0_520.61.05_linux.run
在运行这行命令的时候,我们需要手动选择一些安装选项,如图Fig. 7(a),Fig. 7(b)和Fig. 7©所示,
Fig. 7(a) 安装选项一
如图Fig. 7(a)所示,请选择“Continue”选项。回车进入下一个界面。
Fig. 7(b) 安装选项二
如图Fig. 7(b)所示,请输入“accept”。回车进入下一个界面。
Fig. 7(c ) 安装选项三
如图Fig. 7(c )所示,不要选择上面的Driver(勾选这个意味着我们在安装这个cuda的时候,同时也会给系统安装兼容当前要安装的cuda版本的Nvidia显卡驱动。我们之前已经安装过了Nvidia显卡驱动,这里再安装就冲突了),这里只勾选图中“黄色”字样的信息即可。最后,请选择“Install”进行安装。安装完成后,我们的终端如图Fig. 7(d)所示。
Fig. 7(d) 第二行命令运行结果
按照上述操作,安装完成cuda后,我们可以在系统中/usr/local/路径下,看到cuda-11.8和cuda文件夹,如图Fig. 8所示。
Fig. 8 cuda安装成功后的系统文件的变化
然后,我们需要在Ubuntu系统中添加关于cuda的环境变量(ps: 添加环境变量的意义,每次打开终端,我们可以在终端中使用环境变量中相关的命令;否则,在终端中输入有关cuda的命令,终端找不到命令相关的文件,就会报错执行不了;比如在这里,我们添加在系统中添加关于cuda的环境变量后,就可以在终端输入关于cuda的命令nvcc -V来查看系统中cuda的版本。简而言之,设置环境变量的作用就是帮助系统找到终端中的输入命令的对应文件的路径)。
具体添加环境变量的流程:
- 在终端中输入如下命令(用于打开系统存储环境变量的.bashrc文件)
gedit ~/.bashrc
- 在.bashrc文件中添加如下指令(把如下命令复制粘贴到.bashrc文件中即可,如下图Fig. 9所示,添加后请记得保存)
exportPATH=/usr/local/cuda/bin:$PATHexportLD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
Fig. 9 .bashrc文件中添加cuda环境变量
- 在终端中输入如下命令使得.bashrc文件中的cuda环境变量起作用
source ~/.bashrc
- 在终端中输入如下命令查看系统中的cuda版本(结果如图Fig. 10所示)。
nvcc -V
Fig. 10 查看系统中的cuda版本
到这里,我们的cuda也安装成功了。
三、安装cudnn
cuDNN(CUDA Deep Neural Network library)是由 NVIDIA 提供的一个 GPU 加速库,专门用于深度神经网络的高性能计算。它提供了一组高度优化的例程,用于深度学习的各种操作,如卷积、池化、归一化和激活函数。cuDNN 主要用于深度学习框架(如 TensorFlow、PyTorch、Caffe 和 MXNet)中,以提高计算效率和性能。(这段话是ChatGPT说的)
言归正传,成功安装cuda后,我们可以进入Nvidia网站搜索合适的cuDNN版本,来进行安装。首先进入下图Fig. 11所示的Nvidia cuDNN网站(https://developer.nvidia.com/cudnn-downloads),
Fig. 11 Nvidia的cuDNN安装网站
在Fig. 11中,点击“Archive of Previous CUDA Releases”进入cuDNN历史版本的页面,寻找合适的cuDNN版本。点击后,进入下图Fig. 12 (a)所示的网页,再进入Fig. 12 (b)所示的网页,
Fig. 12(a) cuDNN网站界面一
Fig. 12(b) cuDNN网站界面二
Fig. 12 (c ) cuDNN网站界面三
Fig. 13 Nvidia网站中的cuDNN的tar格式文件的安装命令
在图Fig. 13中,Nvidia官方提供的安装分为三个步骤,分别如下。
- 将在终端将路径切换到下载的.tar.xz安装包的路径下, 下载的安装包在如图Fig. 14所示的文件夹中,
cd /home/nearlab-iiwa/Downloads
Fig. 14 cuDNN压缩包
- 解压文件命令(注意:如Fig. 13中所述,需要把这个命令中的解压的文件名修改一下,最简单的方式是,用下载的压缩包的文件名替换tar -xvf后面的文件名就行了)
tar-xvf cudnn-linux-x86_64-8.9.5.30_cuda11-archive.tar.xz
- 将cuDNN解压出来的文件拷贝到之前安装的cuda文件加中(cuda文件夹的路径如Fig. 8和Fig. 9中所示),然后给cudnn和cudnnlib等文件读取权限。具体命令为下面三行。
sudocp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudocp-P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudochmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
按照这三个步骤操作完成后,可以发现,cuda文件夹(路径一般为/usr/local/)下的cuda/include文件夹中,多了一些以cudnn开头的头文件,如Fig. 15所示。同样地,cuda/lib64/文件夹中,多了一些以libcudnn开头的文件。
Fig. 15 /usr/local/cuda/include文件夹中的变化
Fig. 16 /usr/local/cuda/lib64文件夹中的变化
安装完成后,可以在终端输入如下命令,验证cuDNN是否在系统中成功安装。运行后的结果如图Fig. 17所示。
cat /usr/local/cuda/include/cudnn_version.h |grep CUDNN_MAJOR -A2
Fig. 17 验证系统中的cuDNN
至此,cuDNN安装成功。
四、安装pytorch
进入Pytorch官网(https://pytorch.org/)。
Fig. 18 pytorch界面
如下图Fig. 18所示选择构建方式(Stable),操作系统(Linux),包管理工具(pip),编程语言(Python),计算硬件(cuda 11.8)后,界面自动生成了安装命令。安装命令如下所示(这里使用了包管理工具pip3,如果系统中没有这个命令,可以先在终端使用命令 sudo apt install python3-pip 来安装),
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装完成后,可以使用如下命令来检查pytorch是否安装成功,cuda是否可用。
python3
import torch
print(torch.__version__)
print(torch.cuda.is_available())
分别在终端输入上述命令后,输出结果如下图Fig. 19所示,torch.cuda.is_available()的结果为True说明cuda可用。
五、致谢
我在安装cuda,cuDNN,pytorch的时候,参考了一些写的很不错的博客,在此表示诚挚的感谢。下面把这些博客列在下面,以供大家参考。
Ubuntu22.04安装CUDA和cuDNN详细过程记录
Ubuntu20.04下CUDA、cuDNN的详细安装与配置过程(图文)
【cuda\cudnn安装教程】以及环境变量设置(以cuda11.8为例)
新装UBUNTU 22.04安装Nvidia GPU版Pytorch完整教程
写在最后
局限于本人能力,如果本博客中有任何问题,请大家批评指正,不胜感激。如果有安装过程的问题,也可以留言交流。
版权归原作者 modest_laowang 所有, 如有侵权,请联系我们删除。