ubuntu配置多版本cuda+cudnn环境,及版本切换方法
环境如下:
- ubuntu 22.04
- cuda v11.8
- cudnn v8.9.7
文章目录
- ubuntu配置多版本cuda+cudnn环境,及版本切换方法
- 1.安装Nvidia显卡驱动
- 1.1卸载默认的驱动`nouveau`
- 1.2安装nvidia驱动
 
- 2.安装cuda
- 3.安装cudnn
- 4.切换cuda版本
- 5.卸载cuda
- Reference
 
1.安装Nvidia显卡驱动
1.1卸载默认的驱动nouveau
 
lsmod | grep nouveau
查看nouveau驱动的启用情况,如果有输出表示nouveau驱动正在工作,如果没有内容输出则表示已经禁用了nouveau。如果启用了nouveau我们需要禁用它
sudo gedit /etc/modprobe.d/blacklist.conf
在文件的末尾追加两行
blacklist nouveau
options nouveau modeset=0
然后应用更改
sudo update-initramfs -u
这样我们就卸载了nouveau,然后重启电脑
1.2安装nvidia驱动
首先我们需要知道我们应该安装哪个版本的驱动,
ubuntu-drivers devices
 
 
找到这个带recommended字样的版本号,然后打开软件和更新->附加驱动,选择刚才的版本号,然后应用更改,然后重启。
 
 
重启完毕后,输入
nvidia-smi
 
 
可以看到我们这里的cuda最高支持12.2的版本
2.安装cuda
首先确认需要自己配置环境的使用版本,比如我希望配置一个pytorch v2.0.0的版本,我就需要去torch的官网查看相应的cuda和cudnn的版本
 
 
比如这里支持CUDA 11.7和CUDA 11.8,那么我们就去下载这两个版本的cuda中任意一个就行
cuda:https://developer.nvidia.com/cuda-toolkit-archive
然后选择自己的平台配置
 
 
使用下面给出语句进行安装,例如,安装cuda 11.8的语句是:
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
在安装的过程中,取消Driver的安装,如下:
 
 
然后配置环境变量
sudo gedit ~/.bashrc
写入以下的环境变量,并保存
export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
我们测试是否安装成功
nvcc -V
应该出现类似的结果:
 
 
3.安装cudnn
cudnn:https://developer.nvidia.com/rdp/cudnn-archive
进入官网选择自己cuda版本适配的cudnn,例如,我安装的是cuda 11.8,应该选择
 
 
下载完毕后进行解压
tar -vxf ./cudnn-linux-x86_64-8.9.7.29_cuda11-archive
使用下面两条指令复制解压后文件夹中的文件到/usr/local/cuda-11.8/lib64/和/usr/local/cuda-11.8/include/中
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
 
 
4.切换cuda版本
假如你需要使用不同版本的torch,则需要切换多版本的cuda,现在我的ubuntu下安装了cuda 11.8和cuda 11.0两个版本,我可以使用下列的方法来进行切换
 
 
我之前的使用cuda -11.8,现在我需要切换到cuda -11.0,我可以使用如下的方法
sudo rm -rf /usr/local/cuda    #删除之前创建的软链接
sudo ln -s /usr/local/cuda-11.0 /usr/local/cuda    #创建链接到cuda-11.0的软链接
nvcc --version    #查看当前cuda版本
结果如下:
 
 
5.卸载cuda
进入cuda的安装路径中,比如我需要卸载cuda 11.0版本
cd /usr/local/cuda-11.0/bin
sudo ./cuda-uninstaller
全选然后Enter
 
 
然后
sudo rm -rf /usr/local/cuda-11.0
即可删除
Reference
[1]Ubuntu20.04下CUDA、cuDNN的详细安装与配置过程(图文)
 [2]ubuntu下安装多版本cuda及版本切换教程
 [3]超详细介绍Ubuntu系统安装CUDA和cuDNN【一站式服务!!!】