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

使用ONNXRuntime GPU推理时SessionOptionsAppendExecutionProvider_CUDA报错求助

解决ONNXRuntime CUDA执行提供者加载失败(错误126)的方案

以下是针对Windows 10 + VS2022 + CUDA 12.1环境下的具体解决步骤:

  • 检查DLL依赖项
    使用Visual Studio自带的dumpbin工具(打开VS命令提示符),执行命令:

    dumpbin /dependents D:\Work\SystemVue\6G\AL\ONNX\c_cxx\cudabuild\fns_candy_style_transfer\Debug\onnxruntime_providers_cuda.dll
    

    查看输出中标记为"找不到"的依赖库,通常是CUDA或cuDNN相关的DLL(如cudart64_12.dll、cudnn64_8.dll等)。

  • 确保依赖库可被找到

    • 将CUDA Toolkit的bin目录(默认路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin)添加到系统PATH环境变量的最前端,避免其他版本的CUDA库干扰。
    • 将cuDNN解压后的bin目录添加到PATH,或直接将cuDNN的cudnn64_8.dll复制到项目的Debug运行目录。
    • 确认ONNXRuntime的lib目录也在PATH中,或把onnxruntime.dll、onnxruntime_providers_cuda.dll复制到项目运行目录。
  • 验证ONNXRuntime与CUDA版本匹配

    • 如果使用预编译的ONNXRuntime库,必须下载支持CUDA 12.1的版本;如果是自行编译ONNXRuntime,要确保编译时指定的CUDA版本为12.1,且链接的cuDNN版本与安装的一致。
  • 检查VS项目配置

    • 确认项目的目标平台为x64(CUDA不支持32位程序),在VS项目属性 -> 配置属性 -> 常规中设置。
    • 确认项目的平台工具集为v143(VS2022默认版本),CUDA 12.1兼容该工具集,避免因工具集不匹配导致的库加载问题。
  • 手动复制核心库到运行目录
    直接将以下文件复制到你的项目Debug/Release输出目录:

    • CUDA的cudart64_12.dll、cublas64_12.dll、cublasLt64_12.dll
    • cuDNN的cudnn64_8.dll
    • ONNXRuntime的onnxruntime.dll、onnxruntime_providers_cuda.dll

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:17:33