ubuntu配置多版本cuda+cudnn环境,及版本切换方法

news2024/9/23 19:22:58

ubuntu配置多版本cuda+cudnn环境,及版本切换方法

环境如下:

  • ubuntu 22.04
  • cuda v11.8
  • cudnn v8.9.7

文章目录

  • ubuntu配置多版本cuda+cudnn环境,及版本切换方法
    • 1.安装Nvidia显卡驱动
      • 1.1卸载默认的驱动`nouveau`
      • 1.2安装nvidia驱动
    • 2.安装cuda
    • 3.安装cudnn
    • 4.切换cuda版本
    • 5.卸载cuda
    • Reference

1.安装Nvidia显卡驱动

1.1卸载默认的驱动nouveau

lsmod | grep nouveau

查看nouveau驱动的启用情况,如果有输出表示nouveau驱动正在工作,如果没有内容输出则表示已经禁用了nouveau。如果启用了nouveau我们需要禁用它

sudo gedit /etc/modprobe.d/blacklist.conf

在文件的末尾追加两行

blacklist nouveau
options nouveau modeset=0

然后应用更改

sudo update-initramfs -u

这样我们就卸载了nouveau,然后重启电脑

1.2安装nvidia驱动

首先我们需要知道我们应该安装哪个版本的驱动,

ubuntu-drivers devices
Image

找到这个带recommended字样的版本号,然后打开软件和更新->附加驱动,选择刚才的版本号,然后应用更改,然后重启

Image

重启完毕后,输入

nvidia-smi
Image

可以看到我们这里的cuda最高支持12.2的版本

2.安装cuda

首先确认需要自己配置环境的使用版本,比如我希望配置一个pytorch v2.0.0的版本,我就需要去torch的官网查看相应的cudacudnn的版本

Image

比如这里支持CUDA 11.7CUDA 11.8,那么我们就去下载这两个版本的cuda中任意一个就行

cuda:https://developer.nvidia.com/cuda-toolkit-archive

然后选择自己的平台配置

Image

使用下面给出语句进行安装,例如,安装cuda 11.8的语句是:

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run

在安装的过程中,取消Driver的安装,如下:

Image

然后配置环境变量

sudo gedit ~/.bashrc

写入以下的环境变量,并保存

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

我们测试是否安装成功

nvcc -V

应该出现类似的结果:

Image

3.安装cudnn

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

进入官网选择自己cuda版本适配的cudnn,例如,我安装的是cuda 11.8,应该选择

Image

下载完毕后进行解压

tar -zvxf ./cudnn-linux-x86_64-8.9.7.29_cuda11-archive

使用下面两条指令复制解压后文件夹中的文件到/usr/local/cuda-11.8/lib64//usr/local/cuda-11.8/include/

sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/include/* /usr/local/cuda-11.8/include
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64

然后给其添加读写权限

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

然后测试安装是否正常

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

4.切换cuda版本

假如你需要使用不同版本的torch,则需要切换多版本的cuda,现在我的ubuntu下安装了cuda 11.8cuda 11.0两个版本,我可以使用下列的方法来进行切换

Image

我之前的使用cuda -11.8,现在我需要切换到cuda -11.0,我可以使用如下的方法

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

结果如下:

Image

5.卸载cuda

进入cuda的安装路径中,比如我需要卸载cuda 11.0版本

cd /usr/local/cuda-11.0/bin
sudo ./cuda-uninstaller

全选然后Enter

Image

然后

sudo rm -rf /usr/local/cuda-11.0

即可删除

Reference

[1]Ubuntu20.04下CUDA、cuDNN的详细安装与配置过程(图文)
[2]ubuntu下安装多版本cuda及版本切换教程
[3]超详细介绍Ubuntu系统安装CUDA和cuDNN【一站式服务!!!】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1645218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《从Paxos到Zookeeper》——第五、六章:经典应用场景

目录 第五章 使用Zookeeper 5.1 服务端部署与运行 5.2 客户端相关 5.2.1 客户端运行 5.2.2 客户端命令 5.3 Java客户端API 5.4 开源客户端 第六章 经典应用场景 6.1 典型应用场景及实现 6.1.1 数据发布/订阅(全局配置中心) 6.1.2 负载均衡(Lo…

谷歌推广和seo留痕具体怎么操作?

留痕跟谷歌推广其实是一回事,你能在谷歌上留痕,其实就是推广了自己的信息,本质上留痕就是在各大网站留下自己的记录,这个记录可以是品牌信息,联系方式,看你想留下什么 如果要问自己怎么操作,正常…

Python 网络编程实践:从基础到进阶

目录 网络编程 一.IP地址简介 1. IP 地址的概念 1.1. IP 地址的表现形式 1.2. IP 地址的作用 2. 查看 IP 地址 3. 检查网络是否正常 4. 小技巧 二.端口和端口号 1. 什么是端口 2. 什么是端口号 3. 端口和端口号的关系 4. 端口号的分类 4.1. 知名端口号 4.2. 动…

网络文件共享

存储类型分三类 直连式存储:DAS存储区域网络:SAN网络附加存储:NAS 三种存储架构的应用场景 DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业SAN多适用于文件服务器&#xff0c…

毕设:邮件分发系统

文章目录 前言一、登录1.邮箱登录2.账号登录 二、注册三、首页四、写邮件五、收邮件六、草稿箱七、垃圾箱八、已发送九、通讯录十、用户管理十一、邮件管理十二、登录日志总结 前言 分享一下邮件分发系统 一、登录 1.邮箱登录 2.账号登录 二、注册 三、首页 首页有邮件信息&…

本地部署eXtplorer文件管理器并安装内网穿透构建私人云存储服务器

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件,是互联网最重要的应用之一,无论是…

OSPF综合实验(超详细易懂)(HCIP)

1、拓扑信息 2、需求分析 3、IP规划 4、配置 5、测试 1、拓扑信息 2、需求分析 R4为ISP,其上只能配置I地址; R4与其他所有直连设备间均使用公有IP 公网中使用的是点到…

每日OJ题_DFS解决FloodFill⑦_力扣LCR 130. 衣橱整理(原剑指Offer13机器人的运动范围)

目录 力扣LCR 130. 衣橱整理(原剑指Offer13机器人的运动范围) 解析代码 力扣LCR 130. 衣橱整理(原剑指Offer13机器人的运动范围) LCR 130. 衣橱整理 难度 中等 家居整理师将待整理衣橱划分为 m x n 的二维矩阵 grid&#xff…

选择气膜生产厂家的三大关键因素—轻空间

随着气膜体育馆在建筑领域的不断发展,越来越多的客户开始考虑定制气膜体育馆以满足特定需求。然而,选择一家靠谱的气膜生产厂家并非易事。为了帮助客户更好地了解选择气膜生产厂家的关键考量,轻空间为您整理了以下三个方面的重要信息&#xf…

RockChip Android13 NFC SL6320移植

环境:RK3568 Android13 一:驱动移植 1、驱动 将SL6320驱动代码拷贝至kernel-5.10/drivers/misc/sl6320/ 特殊说明:勿将驱动代码放置于kernel-5.10/drivers/nfc/目录下,会导致sl6320驱动生成设备节点时因/dev/nfc节点以创建而加载失败。 2、DTS 本次硬件设计电路走I2C协…

免费开源线上线下交友社交圈子系统 小程序+APP+H5 可支持二开!

为什么要玩社交软件:互联网社交软件的独特优势 首先,社交软件为我们提供了一个便捷的沟通方式。在传统的交往方式中,人们需要面对面交流,这种方式在时间和空间上都受到限制。而社交软件打破了这些限制,无论我们身处何地…

深度学习之基于YOLOv5电线电缆目标检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 项目简介:深度学习之基于YOLOv5电线电缆目标检测系统 本项目旨在利用深度学习技术,特别是基…

VS Code 远程连接 SSH 服务器

文章目录 一、安装 Remote - SSH 扩展并连接远程主机二、免密连接远程主机1. 生成 SSH 密钥对2. 将公钥复制到远程服务器3. 配置 SSH 客服端4. 连接测试 随着技术的不断迭代更新,在 Linux 系统中使用 Vim、nano 等基于 Shell 终端的编辑器(我曾经也是个 …

ubuntu20.04通过minio配置FTP服务

项目需求:原来存储文件用的是oss服务存储的,本地minio服务。因为项目需求需要ftp服务来访问文件。查看了一下minio官网4.20版本以后的支持ftp服务。官网介绍如下: 参考文章地址如下:File Transfer Protocol (FTP/SFTP) — MinIO …

linux查看ip和端口

1. ip addr ip addr 或者 ip addr show 输出包含了网络接口的名称、状态、MTU(Maximum Transmission Unit)、链路层地址(如MAC地址)、IPv4和IPv6地址等信息。 2. 只需要 ip地址 ipV4 ip addr | grep inet ipV6 3.查看端口 s…

Xinstall实操指南:二维码推广,轻松追踪App安装效果!

在移动互联网时代,App的推广方式层出不穷,但二维码推广始终占据着重要的地位。作为国内专业的App全渠道统计服务商,Xinstall深知二维码推广的潜力与价值,并致力于通过创新的技术和服务,帮助广告主和开发者实现推广效果…

STM32CubeMX学习笔记30---FreeRTOS内存管理

一、简介 1 基本概念 FreeRTOS 操作系统将内核与内存管理分开实现,操作系统内核仅规定了必要的内存管理函数原型,而不关心这些内存管理函数是如何实现的,所以在 FreeRTOS 中提供了多种内存分配算法(分配策略)&#xf…

亚马逊云科技产品测评:玩转云服务器(EC2)

文章目录 📑引言一、亚马逊发展历史介绍二、云服务器资源地域分布三、云服务器实例规格四、EC2计费模式五、亚马逊免费EC2领取 📑引言 亚马逊:世界上最大的云服务器提供商 亚马逊云科技 是由亚马逊公司提供的一系列云计算服务。它提供了弹性计…

AI绘画:Stable Diffusion 拒绝一眼塑料味的AI质感,超写实人物图片如何制作?简单几步教会你!

今天给大家介绍一款能够对生成的人像进行皮肤调节的 lora。 上面两幅图片的生成参数一样,尺寸也一样,但右边一幅图片相较于左面图片的画面质感,特别是人像皮肤的质感上有很大的提升,看上去更加细腻有层感。 这就是我们今天要介绍…

并行执行的概念—— 《OceanBase 并行执行》系列 一

From 产品经理: 这是一份姗姗来迟的关于OceanBase并行执行的系统化产品文档。 自2019年起,并行执行功能已被许多客户应用于多种场景之中,其重要性日益凸显。然而,遗憾的是,我们始终未能提供一份详尽的用户使用文档&…