Ubuntu18.04多版本CUDA安装及CUDNN内部错误解决求助
问题解决指南
一、Ubuntu 18.04多版本CUDA安装方法
完全可以同时安装多个CUDA版本,通过软链接切换默认版本,具体步骤如下:
下载CUDA 10.0安装包
前往NVIDIA官网下载对应Ubuntu 18.04的CUDA 10.0 runfile格式安装包(优先选runfile,避免deb包自动替换现有驱动)。安装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软链接)
- 给安装包添加执行权限:
配置环境变量
编辑~/.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切换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- 切换到CUDA 10.0:
二、解决CUDNN_STATUS_INTERNAL_ERROR错误
安装CUDA 10.0和Cudnn 7.4.2后出现该错误,可按以下步骤排查修复:
确认版本兼容性
CUDA 10.0与Cudnn 7.4.2兼容,但需匹配对应TensorFlow版本:TensorFlow 1.13.x/1.14.x是适配该组合的,若TensorFlow版本过高或过低会触发错误。修复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*调整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%显存清理GPU进程
重启机器或清理残留的CUDA进程:sudo systemctl restart nvidia-persistenced或手动杀死占用GPU的进程:
sudo fuser -v /dev/nvidia* sudo kill -9 <进程ID>验证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
相关产品推荐
相关产品推荐

