背景介绍
需求: 我之前已经通过conda的方式安装了cuda toolkit来支持深度学习的训练,也可以输出torch.cuda.is_available(),证明pytorch是可以调用cuda的,但是我在使用CUDA EXTENSION的时候提示找不到CUDA,后来查询后发现CUDA的安装方式不同,CUDA也不同,关于这种不同,详情请查看这篇博客
一文讲清楚CUDA、CUDA toolkit、CUDNN、NVCC关系
为了调用CUDA EXTENSION的功能,因此需要安装CUDA Toolkit的完整版,安装过程记录如下:
系统信息
系统:Ubuntu 20.04
架构:x86_64
显卡:4070Ti
驱动版本:535.154.05
1 查询系统信息
- 查询系统和架构
uname -m && cat /etc/*release
输出架构和系统,第一行显示的x86_64就是架构,记住后面要用。
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
- 查询显卡型号和驱动版本
前提:已经安装了nvidia驱动,如何在Ubuntu下安装驱动,推荐使用ubuntu系统自带的软件和更新中的附加驱动安装,如下图,我在此处安装的就是535开头的版本型号,安装好后,使用nvidia-smi命令就可以查看看型号和驱动版本。
nvidia-smi
从上图中可以知道我们的驱动型号安装的是535.154.05,显卡是4070Ti。
2. 查询安装的CUDA版本
打开一下网址查询对应的驱动和CUDA版本的适配关系。
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
图太长了,截取部分,从下图中可以看到,驱动版本是向下兼容的,也就是说高版本的驱动可以安装的CUDA版本会更多,我们的驱动版本是535.154.05,从第二列值中可以看到,我们最高可以安装的版本是CUDA 12.2 Update 2。
打开网址找到我们刚刚确定要安装的CUDA Toolkit 12.2.2的版本,单击进入安装说明界面
CUDA Toolkit Archive
3.安装CUDA Toolkit
对照我们的配置信息,选择操作系统/架构/系统版本和安装方式,我选择local安装,然后会出现安装命令,
对照安装命令依次输入即可。安装完成后,需要修改环境变量。
详情请参考
ubuntu添加cuda到basharc
这是永久添加的方式,但是我此次只想暂时添加,因此依次在命令栏输入:
export PATH=/usr/local/cuda-12.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH
最后输入
nvcc-V
显示如下信息则安装成功
4. 安装其他版本的CUDA Toolkit
我前面已经安装了12.2版本的CUDA Toolkit,但是我想再安装一个11.7版本的,还按照上述方法安装会提示已经安装了一个CUDA,安装不成功,因此补充说明如何再安装另一个版本的CUDA,并且如何进行切换。
按照上述方式,我们进入CUDA Toolkit的下载界面,选择local(runfile)安装方式
在命令行输入wget 命令下载文件,如果下载失败,可以把链接复制到浏览器进行下载,下载成功后,运行
sudo sh cuda_11.7.1_515.65.01_linux.run
按照如下界面进行选择,
按住空格取消安装驱动,X表示选择安装,空白表示不安装。
如果年已经安装了一个版本的cuda,会提示你
A symlink already exists at /usr/local/cuda. Update to this installation?
选择No,稍等一会,出现以下界面后表示安装成功。
我忘记截图安装成功的界面了,选用了这个教程的图cuda多版本安装。
5. 手动切换此次调用的CUDA版本
有一些教程提供了软链接等方法,但是我怕自己搞混了,所以还是采用手动切换的方式。
这是软链接切换CUDA版本的教程:在ubuntu上安装多个版本的CUDA,并且可以随时切换
自己手动切换的话就是每次运行前,手动导入路径。
export PATH=/usr/local/cuda-11.7/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH