> 文章列表 > RTX3090 ubuntu20.04 多版本cuda共存

RTX3090 ubuntu20.04 多版本cuda共存

RTX3090 ubuntu20.04 多版本cuda共存

RTX3090 ubuntu20.04 多版本cuda共存

  • 背景:已安装cuda10.1;代码在安装的nvidia-tensorflow1.15上运行报错。
  • 目标:安装cuda10.0并可与cuda10.1切换使用。
  • 结果:cuda可以共存多个版本,修改环境变量指向欲使用版本cuda的相关路径即可;使用cuda10.0代码还是跑不了,原因在于30显卡要安装cuda11或以上;还是跑不了,原因在于虚拟环境内为最新版本的cuda(12),于是驱动版本过低;升级驱动,升级cudnn,成功!
  1. 下载cuda和cudnn
    下载链接:cuda cudnn
  2. 安装cuda
sudo bash cuda***.run
  • 输入q以跳过说明;
  • Install NVIDIA Accelerated Graphics Driver for Linux-x86_64***?
    (y)es/(n)o/(q)uit: n
  • Do you want to install a symbolic link at /usr/local/cuda?
    (y)es/(n)o/(q)uit: (欲设为默认cuda则输入y,其它则输入n)
  • 其余项均输入y,或是直接回车。
  1. 安装cuda过程的报错
  • error : unsupported compiler 9.4.0
    解决:gcc降版本
sudo apt-get install gcc-7 g++-7
sudo rm -rf /usr/bin/gcc
sudo rm -rf /usr/bin/g++
sudo ln -s /usr/bin/gcc-7 /usr/bin/gcc
sudo ln -s /usr/bin/g++-7 /usr/bin/g++
gcc --version
  • Missing recommended library: libGLU.so
    解决:安装库
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
  1. 重复步骤2
  2. 安装cudnn
tar -zxvf cudnn***.tgz
sudo cp cuda/include/cudnn* /usr/local/cuda-10.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64/
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn*
sudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*
cat /usr/local/cuda-10.0/include/cudnn.h | grep CUDNN_MAJOR -A 2

p.s. 灵活替换:cuda-10.0、路径

  1. 配置环境变量
  • 打开环境变量文件
sudo gedit ~/.bashrc
  • 将以下内容粘贴至文本最后(p.s. 灵活替换:cuda-10.0、路径
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-10.0
  • 使环境变量生效(需要在新建的命令行窗口运行)
source ~/.bashrc
  1. 补充1:升级驱动
sudo apt-get remove --purge nvidia*
sudo apt-get update
sudo ubuntu-drivers devices
sudo apt install nvidia-driver-***
reboot
nvidia-smi
  1. 补充2:错误记录
  • CUDA driver version insufficient for CUDA runtime
    CUDA的驱动程序版本与CUDA的运行时版本不匹配