本方案的前提是假设机子上已经有一个版本的cuda,现在需要支持新的torch2.1.2和torchvision==0.16.2,于是来安装新的cuda
一、选择版本
如果我想安装支持torch2.1.2的cuda版本,到官网(https://pytorch.org/get-started/previous-versions/#v200)查看版本对应,发现11.8或者12.1可以支持torch2.1.2和torchvision==0.16.2
nvidia-smi
查看自己的电脑能支持什么版本,根据结果我们的设备最高只能运行12.0版本,达不到12.1,所以选择安装11.8
二、安装CUDA
到官网找到11.8:https://developer.nvidia.com/cuda-toolkit-archive,根据指引进行安装,即运行以下命令
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
运行run之后,取消选中Driver,其他默认,然后Install
。
【注意如果这里没有Driver,可以参考其他博客先安装好Nvidia显卡驱动】
三、安装Cudnn
进入官网:https://developer.nvidia.com/rdp/cudnn-archive,我要安装CUDA11.8,所以选择for CUDA 11.x
下的内容
下载完成后,运行以下命令来解压和配置
# 解压
tar -vxf ./cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz
# 复制
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/include/* /usr/local/cuda-11.8/include
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64
# 添加读写权限
sudo chmod a+r /usr/local/cuda-11.8/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.8/lib64/libcudnn*
cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 # 测试安装是否正常
最后如下图显示则说明安装成功
四、环境配置
最后运行官网中一开始的命令来完成安装(没有环境的先用前两行代码创建一个)
# conda create -n torch21 python=3.10 -y
# conda activate torch
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=11.8 -c pytorch -c nvidia
五、其他操作(切换/卸载CUDA版本)
(1)切换cuda版本
安装的时候我们电脑下可能已经有默认的cuda版本,安装新版本是是会支持覆盖的
另外也可以通过以下命令切换
sudo rm -rf /usr/local/cuda #删除之前创建的软链接
sudo ln -s /usr/local/cuda-11.8 /usr/local/cuda #创建链接到cuda-11.0的软链接
nvcc -V #查看当前cuda版本
(2)卸载CUDA
如果想卸载CUDA,进入对应路径,运行以下命令后选中相应的(以卸载CUDA12.0为例),然后Done
。
cd /usr/local/cuda-12.0/bin
sudo ./cuda-uninstaller
参考链接:
ubuntu配置多版本cuda+cudnn环境,及版本切换方法