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

Ubuntu18.04多版本CUDA安装及CUDNN内部错误解决求助

问题解决指南

一、Ubuntu 18.04多版本CUDA安装方法

完全可以同时安装多个CUDA版本,通过软链接切换默认版本,具体步骤如下:

  1. 下载CUDA 10.0安装包
    前往NVIDIA官网下载对应Ubuntu 18.04的CUDA 10.0 runfile格式安装包(优先选runfile,避免deb包自动替换现有驱动)。

  2. 安装CUDA 10.0

    • 给安装包添加执行权限:
      chmod +x cuda_10.0.130_410.48_linux.run
      
    • 运行安装包,按提示选择:
      sudo ./cuda_10.0.130_410.48_linux.run
      
      • 遇到“Install NVIDIA Accelerated Graphics Driver...”时选No(保留现有驱动,防止冲突)
      • 确认“Install CUDA Toolkit 10.0”选Yes
      • 安装路径保持默认(会安装到/usr/local/cuda-10.0)
      • 确认“Install symbolic link...”选No(不覆盖现有cuda软链接)
  3. 配置环境变量
    编辑~/.bashrc文件:

    nano ~/.bashrc
    

    添加以下内容(同时加入两个版本的路径):

    export PATH=/usr/local/cuda-10.2/bin:$PATH
    export PATH=/usr/local/cuda-10.0/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
    

    使配置生效:

    source ~/.bashrc
    
  4. 切换CUDA版本
    通过修改软链接切换默认版本:

    • 切换到CUDA 10.0:
      sudo rm -rf /usr/local/cuda
      sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda
      
    • 切换回CUDA 10.2:
      sudo rm -rf /usr/local/cuda
      sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda
      

    验证当前版本:

    nvcc --version
    

二、解决CUDNN_STATUS_INTERNAL_ERROR错误

安装CUDA 10.0和Cudnn 7.4.2后出现该错误,可按以下步骤排查修复:

  1. 确认版本兼容性
    CUDA 10.0与Cudnn 7.4.2兼容,但需匹配对应TensorFlow版本:TensorFlow 1.13.x/1.14.x是适配该组合的,若TensorFlow版本过高或过低会触发错误。

  2. 修复Cudnn文件权限
    解压Cudnn后,需确保库文件权限正确:

    sudo chmod a+r /usr/local/cuda-10.0/include/cudnn*.h
    sudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*
    
  3. 调整TensorFlow显存分配策略
    该错误常因显存不足或被占用导致,可在代码开头添加显存限制:

    import tensorflow as tf
    config = tf.compat.v1.ConfigProto()
    config.gpu_options.allow_growth = True  # 按需分配显存
    session = tf.compat.v1.Session(config=config)
    

    也可固定分配部分显存:

    config.gpu_options.per_process_gpu_memory_fraction = 0.7  # 分配70%显存
    
  4. 清理GPU进程
    重启机器或清理残留的CUDA进程:

    sudo systemctl restart nvidia-persistenced
    

    或手动杀死占用GPU的进程:

    sudo fuser -v /dev/nvidia*
    sudo kill -9 <进程ID>
    
  5. 验证CUDA和Cudnn状态
    运行CUDA自带示例验证CUDA是否正常:

    cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
    make
    ./deviceQuery
    

    检查Cudnn版本:

    cat /usr/local/cuda-10.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:10:27