下载
安装cuDnn的话需要和CUDA版本对应,可参考官网:
cuDNN Archive | NVIDIA Developer
我的cuda是11.8

这个cuDNN8.9.7_Linux直接下载:
https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.7/local_installers/11.x/cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz/
安装配置
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xzcd cudnn-*-archivesudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp -P lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
检验
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

表明当前使用的 cuDNN 版本是 8.9.7,这是由 CUDNN_MAJOR, CUDNN_MINOR, 和 CUDNN_PATCHLEVEL 定义的
这些信息来自 cudnn_version.h 文件,主要用于定义和标识 cuDNN 库的版本号。以下是每行的解释:
-
#define CUDNN_MAJOR 8:- 这行代码定义了 cuDNN 的主版本号为 8。
-
#define CUDNN_MINOR 9:- 这行代码定义了 cuDNN 的次版本号为 9。
-
#define CUDNN_PATCHLEVEL 7:- 这行代码定义了 cuDNN 的补丁级别版本号为 7。
-
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL):- 这行代码将主版本号、次版本号和补丁级别组合成一个整体的版本号。对于这个例子来说,
CUDNN_VERSION的值将是8 * 1000 + 9 * 100 + 7 = 8097。
- 这行代码将主版本号、次版本号和补丁级别组合成一个整体的版本号。对于这个例子来说,
-
/* cannot use constexpr here since this is a C-only file */:- 这是一条注释,解释了为什么在这个文件中不能使用
constexpr关键字,因为这是一个 C 语言的头文件,而constexpr是 C++ 中的特性。
- 这是一条注释,解释了为什么在这个文件中不能使用