Ubuntu20.04下载cuda11.3+cuDNN8.2.0,卸载cuda11.6+cuDNN8.4全记录【保姆级教程】

0.前言

CUDA(Compute Unified Device Architecture)是由NVIDIA公司推出的一种高性能并行计算架构。它利用GPU的并行处理能力,能够显著提高计算效率,尤其在科学计算、数据分析、深度学习等领域具有广泛应用。CUDA提供了一套编程模型和API,使开发人员能够利用GPU并行执行计算任务,从而获得更快的计算速度。同时,CUDA还提供了丰富的开发工具和文档,方便开发人员进行并行计算开发和调试。

安装顺序
开始之前,我建议大家在搭建深度学习环境时的安装顺序为:
显卡驱动——CUDA——cuDNN——Anaconda——pytorch以及其他各种依赖包

版本选择
强烈建议大家查看一下显卡、驱动、cuda、cudnn、pytorch、python、tensorflow等等等等错综复杂的依赖包的对应关系,不要闷头照搬别人的安装教程,一定要选择好适合自己的各种版本,这个博主的总结非常全面,是一个很好的参考~
https://blog.csdn.net/qq_41498261/article/details/120067750
-----------------------------------------------------------------------------------------------------------------

1.安装cuda

到官网下载11.3
https://developer.nvidia.com/cuda-toolkit-archive

在这里插入图片描述

执行官网给出的命令

~$ wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
#下载完成后,先对安装包提升权限
~$ chmod 755  cuda_11.3.0_465.19.01_linux.run

#安装
~$ sudo sh cuda_11.3.0_465.19.01_linux.run

不选择驱动,其他都选择上
在这里插入图片描述
键盘上下键,选择install,按空格选中

接下来就是配置过程了

#首先切换到自己的根目录,修改.bashrc文件
cd
vim .bashrc
#进入.bashrc文件后,按键盘i键,在文件最后插入这几行
export PATH=/usr/local/cuda-11.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-11.3
#插入之后,命令行按esc键,然后输入:wq 
#即可保存文件
#转回命令行执行以下语句,查看cuda版本
nvcc -v

#输出意为:cuda版本11.3
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

2.安装cuDNN

2.1下载安装包和3个验证文件

到官网查看自己需要的版本
https://developer.nvidia.com/rdp/cudnn-archive
我下载了cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar安装包
和另外三个验证文件
在这里插入图片描述

2.2解压安装包

切换到下载位置,运行以下命令

tar -zxvf cudnn-11.3-linux-x64-v8.2.0.53.tgz

报错:tar: 归档文件中异常的 EOF
tar: 归档文件中异常的 EOF
是因为下载包损坏,没有下载完。重新下载完整的包即可
在这里插入图片描述

2.3配置相关库

完成解压后,将一些包拷贝到对应文件夹

sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
 sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

此时可以查看cudnn的版本:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

#输出:意为cudnn版本8.2.0
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 2
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#endif /* CUDNN_VERSION_H */

2.4验证cudnn是否安装成功

首先切换到三个验证文件的目录下(也就是大的红框框选的文件)
在这里插入图片描述
然后安装这三个验证文件,依次执行以下语句

#依次执行
sudo dpkg -i libcudnn8_8.2.0.53-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-dev_8.2.0.53-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-samples_8.2.0.53-1+cuda11.3_amd64.deb

拷贝相关文件,并切换到目标文件路径,编译文件

sudo cp -r /usr/src/cudnn_samples_v8/ $HOME      #拷贝相关文件
cd  $HOME/cudnn_samples_v8/mnistCUDNN            #切换到目标文件路径
sudo make clean && make                          #编译文件

2.4.1 记录过程中的一些报错

报错:
cp: 无法创建普通文件’/home/niu/cudnn_samples_v8/samples_common.mk’: 权限不够
解决方案:
加上在cp命令前加上 sudo即可

sudo cp -r /usr/src/cudnn_samples_v8/ $HOME

在这里插入图片描述

报错:
编译mnistCUDNN时报错:
/bin/sh: 1: cannot create test.c: Permission denied
/bin/sh: 1: cannot create test.c: Permission denied
在这里插入图片描述
解决方案:
安装libfreeimage3

sudo apt-get install libfreeimage3 libfreeimage-dev
#然后重新编译
sudo make clean && sudo make

报错:
nvcc warning : The ‘compute_35’, ‘compute_37’, ‘sm_35’, and ‘sm_37’ architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).

在这里插入图片描述
解决方案

可以忽略,因为Makefile中采用了CUDA中的compute capability 3.5、3.7和5.0这几种计算能力,而这几种计算能力CUDA11.3中已经弃用了。

#重新执行编译好的文件
./mnistCUDNN

最后输出 **Test passed!**即为安装成功咯
在这里插入图片描述

3.卸载cuda

3.1切换到安装文件夹

进入cuda安装文件夹,一般是
/usr/local/cudaa-11.6/bin

#切换到cuda安装目录,根据自己的cuda版本进行更改
cd /usr/local/cuda-11.6/bin

3.2执行自动卸载的脚本

#执行自动卸载的脚本
sudo ./cuda-uninstaller
#在所有类目上按空格,选中,删除

3.3查看是否卸载成功

#查看现在的cuda版本
$ nvcc -V

可以看到已经变成默认的cuda10.1版本了在这里插入图片描述

4.卸载cuDNN

4.1查看安装的cuDNN

我这里安装了cuDNN7和cuDNNn8

#查看现存的cudnn
~$  sudo dpkg -l | grep cudnn
ii  cudnn-local-repo-ubuntu2004-8.5.0.96   1.0-1                  amd64   cudnn-local repository configuration files
ii  cudnn-local-repo-ubuntu2004-8.6.0.163  1.0-1                  amd64   cudnn-local repository configuration files
ii  libcudnn7                              7.6.0.64-1+cuda10.0    amd64   cuDNN runtime libraries
ii  libcudnn7-dev                          7.6.0.64-1+cuda10.0    amd64   cuDNN development libraries and headers
ii  libcudnn8                              8.6.0.163-1+cuda11.8   amd64   cuDNN runtime libraries
ii  libcudnn8-dev                          8.6.0.163-1+cuda11.8   amd64   cuDNN development libraries and headers

4.2删除三个包

执行以下三条命令,删除samples、dev、和lib包
注意,一定要按顺序执行

#注意,要按顺序执行
sudo dpkg -r libcudnn8-samples
sudo dpkg -r libcudnn8-dev
sudo dpkg -r libcudnn8

4.3删除repo包

查看现存的cudnn文件,发现还有一个cudnn-local-repo-ubuntu2004-8.5.0.96 存在,也需要删掉。
这个包和上述三个的删除不一样,需要执行以下语句删除:

sudo dpkg -l | grep cudnn  #查看现存cudnn文件
ii  cudnn-local-repo-ubuntu2004-8.5.0.96       1.0-1   amd64   cudnn-local repository configuration files
ii  cudnn-local-repo-ubuntu2004-8.6.0.163     1.0-1   amd64  cudnn-local repository configuration files

#这个包和上述三个的删除不一样,需要执行以下语句删除:
sudo apt-get purge cudnn-local-repo-ubuntu2004-8.5.0.96

#再次查看还有什么cudnn存在
sudo dpkg -l | grep cudnn

#没有输出即为卸载成功

猜你喜欢

转载自blog.csdn.net/ArcGis_Niu/article/details/132731625