libonnxruntime_providers_cuda.so with error: libcudnn_adv.so.9

打印 上一主题 下一主题

主题 1900|帖子 1900|积分 5700

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在安装了 onnxruntime-gpu 后,使用 CUDA 时报错:
  1. 2025-01-02 11:40:03.935340441 [E:onnxruntime:Default, provider_bridge_ort.cc:1862 TryGetProviderInfo_CUDA] /onnxruntime_src/onnxruntime/core/session/provider_bridge_ort.cc:1539 onnxruntime::Provider& onnxruntime::ProviderLibrary::Get() [ONNXRuntimeError] : 1 : FAIL : Failed to load library libonnxruntime_providers_cuda.so with error: libcudnn_adv.so.9: cannot open shared object file: No such file or directory
  2. 2025-01-02 11:40:03.935371734 [W:onnxruntime:Default, onnxruntime_pybind_state.cc:993 CreateExecutionProviderInstance] Failed to create CUDAExecutionProvider. Require cuDNN 9.* and CUDA 12.*. Please install all dependencies as mentioned in the GPU requirements page (https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html#requirements), make sure they're in the PATH, and that your GPU is supported.
复制代码
很明显,cudnn 并为精确设置。
首先必要说明:
   PyTorch 的许多预编译版本(如通过 pip 或 conda 安装)会自带 CUDA 和 cuDNN。它会直接使用打包的版本,而不是依赖系统中全局安装的库。
    ONNX Runtime 必要系统中明白安装且可用的 cuDNN 动态库
  安装 cudnn,留意版本对应:
https://developer.nvidia.com/cudnn-downloads
  1. proxychains4 wget https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-9.1.0.70_cuda12-arch
  2. ive.tar.xz
复制代码
解压下载的文件:
  1. tar -xvf cudnn-linux-x86_64-9.1.0.70_cuda12-archive.tar.xz
复制代码
解压后,会看到一个名为 cuda 的目录,包罗以下子目录:


  • include/: 包罗头文件,如 cudnn.h
  • lib/: 包罗动态库,如 libcudnn.so
将解压出来的文件复制到系统的 CUDA 安装路径(默认路径是 /usr/local/cuda/):
  1. sudo cp ./cudnn-linux-x86_64-9.1.0.70_cuda12-archive/include/* /usr/local/cuda-12.4/include/
  2. sudo cp ./cudnn-linux-x86_64-9.1.0.70_cuda12-archive/lib/* /usr/local/cuda-12.4/lib64/
复制代码
更新动态链接库缓存,以确保系统可以精确找到 cuDNN 的动态库文件:
检查 LD_LIBRARY_PATH 是否包罗 /usr/local/cuda/lib64:
  1. echo $LD_LIBRARY_PATH
复制代码
如果没有包罗,编辑 ~/.bashrc 文件,添加以下内容:
  1. export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
复制代码
  1. source ~/.bashrc
复制代码
更新动态库缓存:
  1. sudo ldconfig
复制代码
验证 cuDNN 是否精确安装:
  1. ls /usr/local/cuda/lib64 | grep libcudnn
复制代码
输出:
  1. libcudnn_adv.so
  2. libcudnn_adv.so.9
  3. libcudnn_adv.so.9.1.0
  4. libcudnn_adv_static.a
  5. libcudnn_adv_static_v9.a
  6. libcudnn_cnn.so
  7. ...
复制代码
检查 cuDNN 版本:
  1. cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
复制代码
输出:
  1. #define CUDNN_MAJOR 9
  2. #define CUDNN_MINOR 1
  3. #define CUDNN_PATCHLEVEL 0
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王柳

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表