百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

Ubuntu22.04中多版本CUDA切换

sinye56 2025-01-20 16:14 22 浏览 0 评论

人工智能兴起,AI相关开源软件大部分都会使用到GPU,而NVIDIA的CUDA加速处于绝对垄断地位。而AI开源软件,使用的操作系统更倾向于Linux,但不同的软件对CUDA的版本有不同依赖,这样就造成开发调试不同软件,需要切换电脑到不同的CUDA版本。本文以Ubuntu22.04为例,说明本地电脑安装多版本CUDA并使用简单方式切换,以满足不同开发的需求。


当然,开发好的软件,docker部署运行时,只依赖特定版本CUDA,可以下载相关版本CUDA的镜像,宿主机只要安装最新GPU驱动与NVIDIA Container Toolkit。可以参考下面链接:

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html


GPU驱动

要在本机安装多版本cuda,并能切换后正常使用,首先要保障安装的GPU驱动是比较新的。可以从nvidia官方网站下载驱动。

安装驱动后,可以运行nvidia-smi ,如图查看到 CUDA version:12.2。表示此显卡可支持的CUDA版本最高到12.2。如果开发的软件依赖CUDA12.1,12.1<12.2,则这个显卡驱动版本满足要求。如果开发软件依赖CUDA12.4,则要首先升级GPU驱动到新版本。


多版本CUDA下载与安装

可以从 https://developer.nvidia.com/cuda-toolkit-archive 下载可能用到的CUDA版本。比如要下载cuda12.1、cuda11.8

根据自己的环境依次选择,推荐下载【runfile(local)】格式的文件。

wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sudo sh cuda_12.1.1_530.30.02_linux.run

执行sh cuda_12.1.1_530.30.02_linux.run开始安装此版本cuda。

  • 安装第一个CUDA版本:11.8

执行sudo sh cuda_11.8.0_530.30.02_linux.run

因为已经安装过显卡驱动,这里选择【Continue】继续安装。

不选择Driver与Kernel Objects,Install

出现上面的画面表示cuda11.8已经安装完成。安装到的位置为:/usr/local/cuda-11.8

  • 安装第二个CUDA版本:12.1

如上运行sudo sh cuda_12.1.1_530.30.02_linux.run。同样选择。

出现上面画面,选【Install】后,会出现新界面:

此界面是由于cuda11.8安装时,会自动在/usr/local/下建立软链接,名字为cuda,指向/usr/local/cuda-11.8。而此处安装cuda12.1.1,如果选【Yes】也会同样操作,将cuda软链接,指向/usr/local/cuda-12.1。因为我有很多的程序都是依赖cuda11.8的,所以此处选【No】

看到此界面,表示已经安装cuda12.1成功。


多版本cuDNN下载与安装

cuDNN(CUDA Deep Neural Network library)是 NVIDIA 提供的一个深度神经网络库。它为深度学习应用提供特别优化,如卷积、池化、归一化和激活函数等。如果安装CUDA是用于人工智能网络工作,需要安装此库。当然,这个库的版本与CUDA版本有依赖关系。

https://developer.nvidia.com/cudnn-archive

可以从上面的网址下载cudnn库。要下载库,需要用邮箱注册一个账号。

cuDNN 8.x - 1.x (December 2023 - August 2014) 是 8.x版及以前的cudnn版本。选择此种版本,选择方式与9.x方式稍有不同。但都是推荐下载tar 包文件为好。

根据操作系统及文件格式,选要下载的cudnn包。

cuDNN 9.1.0 (April 2024)

上面的选择界面中,有一个链接【Tarball and Zip Archive Deliverables

通过此处,可以从列表方式中选择要下载的cudnn Tar包。

  • cuDNN安装
  • cuDNN的安装,实际只是下载的tar包解压,然后把解压后文件,拷贝到对应版本的cuda下的对应目录。

    上面的两个cuda版本默认安装到/usr/local/下

    cuda-11.8/

    cuda-12.1/

    如下拷贝解压的tar包中文件,到对应的cuda版本目录下即可(cudaxx为对应的cuda-11.8或cuda-12.1):

     cp include/*.*              /usr/local/cudaxx/include       
    
    cp  lib/.*.*                       /usr/local/cudaxx/lib64/

    配置文件修改

    修改/etc/profile文件,添加:

    export PATH=$PATH:/usr/local/cuda/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    export CUDA_HOME=/usr/local/cuda

    cuda版本切换

    上面说过,/usr/local/cuda是一个软链接。设置上面的环境变量后,只要切换软链接的指向位置,即可在实现切换cuda版本。

    cd /usr/local
    rm  cuda  				 删除软链接
    ln  -s  cuda-12.1/   cuda     	 将cuda-12.1/映射到cuda.

    上面的命令,即可实现切换到cuda12.1的环境。

    可以用 nvcc -V 来验证切换是否成功。

    相关推荐

    6个接私活的网站,你有技术就有钱

    如果觉得有帮助,还请大家帮忙多多转发,点个关注作者:发哥链接:GitHubDaily本篇文章会向大家推荐国内外几个接外包比较靠谱的平台,主旨是贵精不贵多。因此,像「猪x戒」这种会让程序员自贬身价,扰乱...

    Java开源可商用的CMS建站系统_java建站源码

    Java研发的CMS内容管理系统具有许多优势和特点,包括以下几个方面:跨平台性:Java是一种跨平台的编程语言,可以在不同的操作系统上运行,包括Windows、Linux、Mac等。这意味着Java...

    SEO新手建站必看&quot;干货&quot;优质空间和功能选择技巧!

    一.空间的分类服务器:远程的高级大型计算机。vps:虚拟服务器。虚拟空间:也称虚拟主机云主机:是在一组集群主机上虚拟出多个类似独立主机的部分,集群中每个主机上都有云主机的一个镜像,从而大大提高了虚拟主...

    千字长文教你使用 宝塔面板 快速搭建网站

    本文将教大家使用宝塔面板快速搭建网站,云服务器购买以及域名注册部分请自行上网搜索了解,亦可留言联系小编进行咨询。如果是和下方一样本地搭建演示的话,则不需要付费购买域名和主机。宝塔面板的是...

    BlueHost香港虚拟主机建站的5个优点

    应该是从2006年左右开始,如果我们建站选择国内的主机需要备案手续,而且比较繁琐,且根据各地的不同政策还需要到接入点拍照登记个人信息等,一来比较繁琐,二来我们担心万一网站可能存在的信息问题导致不必要的...

    10款好用的Linux服务器网站管理面板推荐

    如今在建站时,很多人都会使用管理面板来辅助建站,因为相对于手动安装软件,面板更加简单而且高效,即使新手也能很快学会搭建网站,在本文中我们来推荐几款好用的网站管理面板宝塔面板宝塔面板是一款简单好用的网站...

    小白拥有一台云服务器到底能干些什么?成就感爆棚的简单方案!

    ?云服务器是什么?云服务器(比如阿里云、腾讯云等)是提供给用户的一种虚拟服务器资源,你可以把它看作一台“rent的电脑”,只需要支付少量费用就可以拥有一个功能强大的网络设备。对于小白来说,拥有一...

    苹果CMS,苹果CMS采集插件,苹果CMS快速建站(图文教程)

    苹果CMS,有着强大的管理功能,管理后台界面大方、操作简单、功能齐全、模块众多、双端管理。苹果CMS加上丰富的系统标签,系统内置了丰富的cms标签并支持thinkphp框架标签完美融合,可以调取系统内...

    新手搭建网站、小程序、APP等系统,如何选择服务器?

    今天和小蔡和大家说说,新手搭建网站,如何选择服务器?废话不多说,直接来干货。服务器是存放网站源代码的容器,也是运行网站程序的工具,所以是不可或缺的。新手刚接触搭建网站,若不知道怎么去选择一台适合自己...

    在海外VPS服务器(Hostinger)上配置宝塔面板的操作步骤

    不得不说,宝塔面板是真的好用啊~用上就放不下了,一些海外的免费开源的服务器集成面板(比如CloudPanel)我也用了,不喜欢,真的不如宝塔面板方便耐用。今天聊一下在海外服务器(也包括国内服务器,没有...

    干货盘点:每个wordpress站长都推荐完成的60个任务清单

    构建和运营wordpress网站包含了很多重要任务,遗漏哪一方面都可能造成或大或小的不良后果,因此我们特别整理了这个任务清单,为你查漏补缺,希望能对您现在运营或者即将开始构建的wordpress网站有...

    为什么站长喜欢选择BlueHost主机建站

    BlueHost正式成立于2003年,从事主机(虚拟主机)业务至今已经将近十余年,无论从口碑还是用户的评价,我们基本很少看到关于Bluehost主机产品和商家负面的评论信息。从2014年开始,Blue...

    自助建站时代来临 半小时成建站达人

    “H5”意为第五代HTML,即第五代网页编写语言。自从1991年第一代HTML开始研发以来,网页编写、网站建设一直都属于高端技术行业,网站建设人员都是一些专业型人才,这也意味着网站的建设和维护都需要不...

    现代化、开源的 Linux 服务器运维管理面板

    1Panel是一个现代化、开源的Linux服务器运维管理面板。1Panel的功能和优势包括:快速建站:深度集成Wordpress和Halo,域名绑定、SSL证书配置等一键搞定;高效管理...

    [1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

    测评介绍本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽,后端使用GO开发,前端使用VUE的Element-Plus作为UI框架,整个面板的管理都是基于do...

    取消回复欢迎 发表评论: