首页 > 解决方案 > 如何使用 CMake 找到 CUDNN?

问题描述

显然我正确安装了CUDA和CUDNN,但是FindCUDA还是找到了CUDA,但是FindCUDNN.cmake没有找到CUDNN

我还应该检查什么来调试它?

操作系统: Windows 10

cmake 版本3.17.2

CUDA 10.2版

CUDNN 版本cudnn-10.2-windows10-x64-v7.6.5.32

CUDA 与安装程序一起安装到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

按照说明设置 PATH 在此处输入图像描述

CUDNN 文件复制到各自的 bin、include 和 lib 文件夹中

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

[cmake] -- Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2 (found version "10.2") 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
[cmake]   Could NOT find CUDNN (missing: CUDNN_LIBRARY CUDNN_INCLUDE_DIR)
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:445 (_FPHSA_FAILURE_MESSAGE)
[cmake]   cmake/FindCUDNN.cmake:90 (find_package_handle_standard_args)
[cmake]   CMakeLists.txt:17 (find_package)

FindCUDNN.cmake:https ://gist.github.com/WurmD/26af2940d8dec7cc48d38bc30fd1b3ef

标签: windowscmakecudnn

解决方案


...
set "cudaRoot=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.3"
...
-DCUDNN_LIBRARY="%cudaRoot%\lib" ^
-DCUDNN_INCLUDE_DIR="%cudaRoot%\include" ^
...

推荐阅读