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

Ubuntu 22.10中CUDA12环境运行mnistCUDNN提示缺失libcublas.so.11

问题原因与解决办法

核心原因

你遇到的问题本质是cuDNN版本与CUDA Toolkit版本不兼容:

  • 你通过包管理器安装的cuDNN 8是针对CUDA 11编译的版本,它的libcudnn_ops_infer.so.8硬依赖旧版本的libcublas.so.11;
  • 而你当前系统仅安装了CUDA 12的libcublas.so.12,两者的应用二进制接口(ABI)不兼容,无法直接替代;
  • 注意:nvidia-smi显示的是显卡驱动支持的最高CUDA版本,和你实际安装的CUDA Toolkit版本是两个独立概念,驱动支持CUDA 12不代表cuDNN就能直接适配CUDA 12的库文件。

解决方法

方法1:安装适配CUDA 12的cuDNN版本(推荐)

  1. 先卸载当前不兼容的cuDNN包:
    sudo apt remove --purge libcudnn8*
    
  2. 下载对应CUDA 12的cuDNN 8.9.x及以上版本deb包(需匹配Ubuntu 22.10的系统架构);
  3. 重新安装cuDNN包:
    sudo dpkg -i libcudnn8_*.deb
    sudo dpkg -i libcudnn8-dev_*.deb
    sudo dpkg -i libcudnn8-samples_*.deb
    
  4. 重新编译mnistCUDNN示例,运行即可正常加载依赖。

方法2:临时软链接 workaround(不推荐长期使用)

如果暂时无法更换cuDNN版本,可以手动创建软链接让系统识别到libcublas.so.11:

cd /usr/local/cuda-12.0/lib64
sudo ln -s libcublas.so.12 libcublas.so.11
sudo ln -s libcublasLt.so.12 libcublasLt.so.11

但这种方法可能引发潜在兼容性问题(比如部分函数行为差异),仅适合临时测试场景。

方法3:提前核对版本兼容性

后续安装前务必确认:cuDNN 8.8.x开始部分支持CUDA 12,cuDNN 8.9.x及以上全面支持CUDA 12,避免再次出现版本不匹配的问题。

内容的提问来源于stack exchange,提问作者Alexander Hörl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 21:12:08