You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置CUDA与cuDNN后编译dlib仍提示未找到cuDNN的问题求助

让dlib识别cuDNN v9.0(搭配CUDA 12.3)的解决方法

问题背景

环境配置:

  • Windows 11
  • Visual Studio 17 2022
  • cuDNN v9.0
  • CUDA v12.3

已配置的环境变量:

$env:CUDA_PATH = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3"

系统Path包含:

  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\bin
  • C:\Program Files\NVIDIA\CUDNN\v9.0\bin

操作流程:

  1. 克隆并初始化dlib仓库:
git clone https://github.com/davisking/dlib.git
cd dlib
git submodule init
git submodule update
  1. 创建build目录:
cd dlib
mkdir build
cd build
  1. 执行CMake配置:
cmake -G "Visual Studio 17 2022" .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1 

出现错误:

This warning is for project developers. Use -Wno-dev to suppress it.

-- Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.3 (found suitable version "12.3", minimum required is "7.5")
-- Looking for cuDNN install...
-- *** cuDNN V5.0 OR GREATER NOT FOUND. ***
-- *** Dlib requires cuDNN V5.0 OR GREATER. Since cuDNN is not found DLIB WILL NOT USE CUDA. ***
-- *** If you have cuDNN then set CMAKE_PREFIX_PATH to include cuDNNs folder. ***
-- Disabling CUDA support for dlib. DLIB WILL NOT USE CUDA
-- Searching for FFMPEG/LIBAV
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- PkgConfig could not be found, FFMPEG wont be available
-- Configuring done (7.6s)
-- Generating done (0.0s)
-- Build files have been written to: E:/pythonProj/dlib/build

尝试添加CMAKE_PREFIX_PATH指定cuDNN根目录后,问题未解决:

cmake -G "Visual Studio 17 2022" .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1 -DCMAKE_PREFIX_PATH="C:\Program Files\NVIDIA\CUDNN\v9.0"

解决方法

查看dlib的CMakeLists.txt后发现,需要额外指定CMAKE_INCLUDE_PATH和CMAKE_LIBRARY_PATH参数,明确指向cuDNN对应CUDA版本的头文件和库文件路径(cuDNN v9.0按CUDA版本划分了子目录)。

最终可用的CMake命令:

cmake -G "Visual Studio 17 2022" .. `
-DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1 `
-DCMAKE_PREFIX_PATH="C:\Program Files\NVIDIA\CUDNN\v9.0;C:\Program Files (x86)\Intel\oneAPI\mkl\latest" `
-DCMAKE_INCLUDE_PATH="C:\Program Files\NVIDIA\CUDNN\v9.0\include\12.3;C:\Program Files (x86)\Intel\oneAPI\mkl\latest\include" `
-DCMAKE_LIBRARY_PATH="C:\Program Files\NVIDIA\CUDNN\v9.0\lib\12.3\x64;C:\Program Files (x86)\Intel\oneAPI\mkl\latest\lib"

关键说明

cuDNN v9.0的目录结构与旧版本不同,它会为每个CUDA版本创建独立的子目录(比如对应CUDA 12.3的include/12.3和lib/12.3/x64)。仅指定cuDNN根目录的CMAKE_PREFIX_PATH无法让CMake定位到正确的头文件和库,因此必须通过CMAKE_INCLUDE_PATH和CMAKE_LIBRARY_PATH直接指向这些细分路径。

内容的提问来源于stack exchange,提问作者Trevor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:15:21