文章目录

  • 一、安装显卡驱动
  • 二、安装CUDA
  • 三、安装cuDNN
  • 四、更换cuDNN版本
  • 参考资料


一、安装显卡驱动

1. 终端中输入以下命令获取显卡和驱动信息:

ubuntu-drivers devices

以我自己的机器为例,显示结果如下:

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_hive

2. 我这里选择recommended的驱动版本进行安装:

sudo apt install nvidia-driver-515

安装完成后输入nvidia-smi进行测试,若显示如下就代表安装成功。

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_python_02

二、安装CUDA

1. 在官网(https://developer.nvidia.com/cuda-toolkit-archive)下载cuda,版本根据自己需求选择即可,但是不要超过显卡支持的最高版本。

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_hive_03

2. 然后选择runfile的方式安装(因为只用输入两行命令,懒…)

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_python_04

3. 下载完成后终端输入sudo sh cuda_11.6.2_510.47.03_linux.run,按照红框标注的进行选择即可:

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_服务器_05


ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_linux_06

4. 这里有一点需要注意一下,因为之前已经安装过显卡驱动了,所以这里需要取消Driver(光标移动到Driver,然后按enter即可取消,不取消会导致安装终止),然后移动光标到Install,按enter执行安装。

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_python_07


5. 配置环境变量

安装完成后会显示配置环境变量的说明,如下:

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_python_08


按照说明配置即可:

vim ~/.bashrc

添加以下内容:

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

最后:

source ~/.bashrc
nvcc -V

显示以下内容表明安装成功

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_bc_09

三、安装cuDNN

1. 下载CUDA版本对应的cuDNN版本:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse805-111

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_hive_10


2. 参照官方文档进行安装:https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#installlinux-tar

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_python_11

$ tar -xvf cudnn-linux-$arch-8.x.x.x_cudaX.Y-archive.tar.xz
$ sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
$ sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

3. 验证

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

出现以下信息说明安装成功,由于安装的cuDNN版本是8.5.0,所以MAJOR、MINOR、PATCHLEVEL依次是8、5、0

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_bc_12

四、更换cuDNN版本

  1. 下载需要更换的cuDNN,我这里想更换的版本是cuDNN8.4.1,然后下载了cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz
  2. 删除已安装的cuDNN文件
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
  1. 解压准备更换的安装包,并将相关文件复制到cuda目录下对应的文件夹
tar -xvf cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz
sudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp lib64/lib* /usr/local/cuda/lib64/
  1. 更新软链接
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.8.4.1
sudo ln -sf libcudnn.so.8.4.1 libcudnn.so.8
sudo ln -sf libcudnn.so.8 libcudnn.so
sudo ln -sf libcudnn_adv_train.so.8.4.1 libcudnn_adv_train.so.8
sudo ln -sf libcudnn_adv_infer.so.8.4.1 libcudnn_adv_infer.so.8
sudo ln -sf libcudnn_ops_train.so.8.4.1 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_infer.so.8.4.1 libcudnn_ops_infer.so.8
sudo ln -sf libcudnn_cnn_infer.so.8.4.1 libcudnn_cnn_infer.so.8
sudo ln -sf libcudnn_cnn_train.so.8.4.1 libcudnn_cnn_train.so.8
sudo ldconfig  # 检查是否存在可共享的动态链接库
  1. 检查版本
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

ubuntu 安装 dockerjiaocheng Ubuntu 安装cuda_linux_13