Ubuntu20.04LTS安装CUDA并支持多版本切换

1.前置知识

如果Ubuntu系统还没有安装显卡驱动,参考这篇文章:Ubuntu20.04LTS安装RTX-3060显卡驱动

2.查看显卡驱动版本号

当显卡驱动安装完成后,需要使用 nvidia-smi 命令查看英伟达显卡驱动版本。

nvidia-smi

在这里插入图片描述
如上图所示,英伟达驱动版本为520.61.05,CUDA最高支持的版本为11.8。

3.查看显卡驱动版本号和CUDA版本对应关系

点击该链接:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html,查看英伟达显卡驱动版本和CUDA版本的对应关系。

下图为CUDA工具包和CUDA小版本兼容性所需的最低驱动程序版本:

在这里插入图片描述

由于我工作站(Ubuntu 20.04 LTS)的英伟达驱动版本为520.61.05,从上图可以看出,我最高可以安装的CUDA版本为11.8.x。(注:CUDA 12.0.x和CUDA 12.1.x都要求英伟达驱动版本大于等于525.60.13,因此我的520.61.05不符合,所以我最高只能安装CUDA 11.8.x的版本)。

4.查看经典的CUDA版本号

由于我们最终是要安装pytorch,因此选取合适的CUDA进行安装是是否有必要的。通过该链接,可以查看 CUDA与PyTorch版本对应关系

PyTorch版本 CUDA版本
1.2.0、1.4.0、1.5.0、1.5.1、1.6.0、1.7.0、1.7.1 9.2
1.0.0、1.0.1、1.1.0、1.2.0 10.0
1.4.0、1.5.0、1.5.1、1.6.0、1.7.0、1.7.1、1.8.1 10.1
1.5.0、1.5.1、1.6.0、1.7.0、1.7.1、1.8.0、1.8.1、1.8.2、1.9.0、1.9.1、1.10.0、1.10.1、1.11.0、1.12.0、1.12.1 10.2
1.7.0、1.7.1 11.0
1.8.0、1.8.1、1.8.2、1.9.0、1.9.1、1.10.0、1.10.1 11.1
1.8.1、1.9.0、1.9.1、1.10.0、1.10.1、1.11.0、1.12.0、1.12.1 11.3
1.12.0、1.12.1 11.6

从链接可以看出,10.2、11.1、11.3这三个版本比较经典,能够支持多数pytorch版本,因此可以选择这三个版本的CUDA进行安装。

5.安装CUDA

5.1.下载CUDA安装包

CUDA官方下载链接:https://developer.nvidia.com/cuda-toolkit-archive

进入CUDA官方的下载链接后,查找自己需要下载的版本(以CUDA 11.3.1为例):

在这里插入图片描述

点击自己需要下载的版本,一次选择操作系统、系统架构、系统版本和安装方式,在这里推荐使用 runfile(local) 的安装方式。

在这里插入图片描述
完成上述操作后,网页下方弹出安装的命令,如下图所示:

在这里插入图片描述

5.2.执行CUDA安装

在Ubuntu 20.04 LTS系统的命令行中,按照以下命令进行安装。

# 第一步:使用wget命令下载安装包
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run`

# 第二步:执行安装脚本
sudo sh cuda_11.3.1_465.19.01_linux.run

执行上述命令后,等待1分钟左右,系统会弹出安装的协议,问你 Do you accept the above EULA? 你需要在后面的光标处,填写 accept,然后敲回车。
在这里插入图片描述
然后系统询问安装的内容,注意!!! 一定要把Driver驱动这个给去掉(按空格键可以将 X 去掉),如果[ ]内是X 说明是要安装的;如果[ ] 是空,说明不安装。选择完成后,然后移动至Install 处,敲击回车。
在这里插入图片描述
安装完成后,会在 /usr/local 目录下产生cuda-11.3 目录,如下图所示:
在这里插入图片描述
这样说明CUDA-11.3版本安装完成了!

5.3.配置环境变量

使用 vim ~/.bashrc 命令进行编辑,在文件末尾添加下列代码:

# cuda
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin

然后执行 source ~/.bashrc 刷新文件使其生效。

5.4.CUDA多版本管理

从图中可以看出,系统安装了11.1、11.3和11.6版本。

在这里插入图片描述

由于环境变量的地址为 /usr/local/cuda,且我们可以从图中发现目录下存在一个软链接,即:/usr/local/cuda 指向了 /usr/local/cuda-11.6 链接,说明此时尽管安装了CUDA 11.1和 CUDA 11.3版本,但系统默认的环境版本为11.6。如何进行多版本的切换呢,比如想把CUDA版本切换成11.3版本(但是要保留CUDA 11.1和11.6版本),我们只需要修改软链接即可,将CUDA 11.3的软链接链接到cuda目录下,代码如下:

sudo rm -rf cuda  # 删除原有的软链接
sudo ln -s /usr/local/cuda-11.3 /usr/local/cuda  # 将cuda-11.3链接到cuda下

软链接重新生成后,使用 nvcc -V 命令可以查看当前的CUDA版本,如下所示:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Mar_21_19:15:46_PDT_2021
Cuda compilation tools, release 11.3, V11.3.58
Build cuda_11.3.r11.3/compiler.29745058_0

猜你喜欢

转载自blog.csdn.net/m0_38068876/article/details/129897552