安装CUDA

ubuntu22.04系统安装CUDA多个版本,且自由切换
CTSC
已于 2022-12-02 15:14:40 修改 739
收藏 7
分类专栏: 【OpenMMLab】博客杂记-- 文章标签: python 开发语言
版权
【OpenMMLab】博客杂记-- 专栏收录该内容
3 篇文章 0 订阅
订阅专栏
前言

OpenMMLabb不同订单库需求不同的cuda版本,一直没找到一个完全完整靠谱的教程,这是我参考几个博客完成测试的全过程记录,方便以后操作,无任何商业用途,如有侵权,请联系删除。

注:

Ubuntu22.04系统,已安装CUDA11.7版本,现在安装CUDA11.3版本
————————————————
CUDA11.3版本安装【多cuda版本】

CUDA官网所有版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive

选择指定的CUDA版本,选择你的系统架构版本。【11.3-11.7】

注意:芯片架构不懂的可以点击查看解释:Architeture解释

执行页面底部安装命令即可安装:

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
    sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
    wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda-repo-ubuntu2004-11-3-local_11.3.0-465.19.01-1_amd64.deb
    sudo dpkg -i cuda-repo-ubuntu2004-11-3-local_11.3.0-465.19.01-1_amd64.deb
    sudo apt-key add /var/cuda-repo-ubuntu2004-11-3-local/7fa2af80.pub
    sudo apt-get update
    sudo apt-get -y install cuda=11.3*

 注意:上面代码最后一行加上cuda版本号,否则会默认安装最高版本哦的!!!

安装成功会有以下提示:

 查看cuda安装路径

cd /usr/local

路径中有两个CUDA版本,说明安装成功啦!
 Cudnn安装

接下来需要安装cudnn,从官网选择对应的版本下载即可,这里需要你先进行登陆然后才能进入下载。这里我们选择对应于cuda11.3的cudnn8.6.0,选择cuDNN Library for Linux选项,如下图所示:

选择与系统对应的安装包,此处需要选择tar格式的,deb无法指定安装

 下载后是一个压缩包,将其解压(解压的文件夹名称默认是cudnn),然后在解压后的目录下打开一个终端,依次执行如下命令即可。

    sudo cp cudnn/include/cudnn.h /usr/local/cuda-11.3/include
    sudo cp cudnn/lib/libcudnn* /usr/local/cuda-11.3/lib64
    sudo chmod a+r /usr/local/cuda-11.3/include/cudnn.h /usr/local/cuda-11.3/lib64/libcudnn*

4 设置环境变量
在任一终端执行sudo gedit ~/.bashrc,打开环境变量配置文本。将里面所有与cuda有关的带版本号路径都改为无版本号的。比如我之前已经安装好了cuda10.0,然后当时配置环境变量时,有许多/usr/local/cuda-10.0/这样的路径,要做的就是把所有的-10.0都去掉。修改好之后,保存并关闭文件,然后在终端执行命令source ~/.bashrc使环境变量的修改生效。
然后,要切换cuda版本的时候,直接建立对应的软链接即可,命令如下

前提:

 

    sudo rm -rf /usr/local/cuda    #删除之前创建的软链接
    sudo ln -s /usr/local/cuda-11.3 /usr/local/cuda    #创建链接到cuda9.0的软链接
    nvcc --version    #查看当前cuda版本
如果一切配置都是正确的,那么执行完ncvv --version这行命令后,应该可以看到如下输出:

    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2017 NVIDIA Corporation
    Built on Fri_Sep__1_21:08:03_CDT_2017
    Build cuda_11.7.r11.7/compiler.31442593_0

可以看到,cuda版本已经成功更换成9.0了。而如果要更改回去,则只需要执行类似上面的命令即可(只需将9.0改为10.0,是不是超级方便):

    sudo rm -rf /usr/local/cuda    #删除之前创建的软链接
    sudo ln -s /usr/local/cuda-11.7 /usr/local/cuda    #创建链接到cuda9.0的软链接
    nvcc --version    #查看当前cuda版本

执行后,可以看到输出变成了:

    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2018 NVIDIA Corporation
    Built on Sat_Aug_25_21:08:01_CDT_2018
    Cuda compilation tools, release 10.0, V10.0.130
    Build cuda_11.3.r11.3/compiler.297451515_0

 
5 可能遇到的报错及解决方法

虽然执行nvcc --version命令可以看到cuda版本的切换,但是,如果此时你再执行nvidia-smi命令,想看一下
当前GPU的信息和使用情况的话,你很可能会获得一个报错信息:

Failed to initialize NVML: Driver/library version mismatch

意思是驱动版本不匹配。心想,这就奇了怪了,安装cuda时候选择了run文件就是为了避免安装时候驱动被修改,而且安装过程中的驱动选项也是选的no,这下可不好解释了。网上很多说法是这种问题应该重装系统驱动的,但是,千万别!搞不好你不仅新安装的cuda失败了,就连之前已经安装妥当的cuda也白搭进去了。俗话说的好,遇事不决,重启解决。重启一下系统就完事了,确实有效!重启后再次打开终端执行nvidia-smi,输出如下:

 可以看到右上角显示的cuda version是11.0,而我当前cuda版本实际上是9.0,我甚至根本就没安装过11.0的。需要注意的是,要看当前是什么cuda版本,使用nvcc --version看到的输出才是正确的,而nvidia-smi主要是用来查看GPU使用情况的,此外,它还能实时查看GPU使用情况。
6 查看已安装的cuda版本有哪些

一般如果我们都是使用默认位置安装cuda的话,那么其安装路径都是/usr/local。如果要查看该目录下已经安装有哪些版本的cuda,可以通过在终端执行如下命令:

ls -l /usr/local | grep cuda

比如我这里执行的输出为:

    lrwxrwxrwx  1 root     root       20 11月 13 12:45 cuda -> /usr/local/cuda-10.0
    drwxr-xr-x 19 root     root     4096 3月   1  2021 cuda-10.0
    drwxr-xr-x 17 root     root     4096 11月 13 12:11 cuda-8.0
    drwxr-xr-x 18 root     root     4096 10月 27 21:10 cuda-9.0

总共有四行输出,其中第一行表示当前建立了软链接的版本,是cuda10.0。然后,后边三行就是已经安装的cuda版本,我这里有三个,分别是8.0,9.0和10.0。这个命令的作用主要是,如果你忘了已经安装了哪些版本的cuda的时候,就可以直接通过命令查看到。
 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值