CUDA,cuDNN 和 TensorRT

摘要

  • CUDA (Compute Unified Device Architecture) 是 N 卡上的计算框架,在这个框架上可以装载 cuDNN 或者 TensorRT 进行深度学习模型的加速。前者主要用于模型训练的加速,而后者适用于部署时模型推理的加速。

  • 这篇文章主要记录 LinuxCUDAcuDNN 以及 TensorRT 的安装;

CUDA

  • 先去 CUDA 的页面 进行安装,另外一提 /etc/issue 中记录了当前 Linux 的发行版本,可以对照选择下载连接。因为是在 docker 中运行这个 CUDA 环境,所以不需要安装驱动,而是依靠物理主机 ( 我的 Windows ) 上的驱动 。在 **x86 > Debian 12 > deb (local) ** 的选择下有了这些指令

    1
    2
    3
    4
    5
    6
    wget https://developer.download.nvidia.com/compute/cuda/12.3.1/local_installers/cuda-repo-debian12-12-3-local_12.3.1-545.23.08-1_amd64.deb
    sudo dpkg -i cuda-repo-debian12-12-3-local_12.3.1-545.23.08-1_amd64.deb
    sudo cp /var/cuda-repo-debian12-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
    sudo add-apt-repository contrib # 这个指令可能需要先 apt install software-properties-common
    sudo apt-get update
    sudo apt-get -y install cuda-toolkit-12-3

cuDNN

  • 官方给出了 完整说明,在 CUDA 的基础上我们需要先安装 zlib 依赖

    1
    apt install zlib1g
  • 接下来要去 cuDNN 主页 手动下载安装包,其中 tar 安装包适用于所有 Linux 分发版本,所以我选择了 tar

  • 解压下载的 tar

    1
    tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
  • 将文件放到 CUDA 目录中并设置文件权限

    1
    2
    3
    sudo cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/include/cudnn*.h /usr/local/cuda/include
    sudo cp -P cudnn-linux-x86_64-8.9.7.29_cuda12-archive/lib/libcudnn* /usr/local/cuda/lib64
    sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*