Ubuntu20.04下安装多CUDA版本,以及后续切换卸载

本方案的前提是假设机子上已经有一个版本的cuda,现在需要支持新的torch2.1.2和torchvision==0.16.2,于是来安装新的cuda

一、选择版本

如果我想安装支持torch2.1.2的cuda版本,到官网(https://pytorch.org/get-started/previous-versions/#v200)查看版本对应,发现11.8或者12.1可以支持torch2.1.2和torchvision==0.16.2

image-20241014094057455

nvidia-smi

查看自己的电脑能支持什么版本,根据结果我们的设备最高只能运行12.0版本,达不到12.1,所以选择安装11.8

image-20241014094807690

二、安装CUDA

到官网找到11.8:https://developer.nvidia.com/cuda-toolkit-archive,根据指引进行安装,即运行以下命令

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

image-20241014094322833

运行run之后,取消选中Driver,其他默认,然后Install

【注意如果这里没有Driver,可以参考其他博客先安装好Nvidia显卡驱动】

image-20241014095739610

三、安装Cudnn

进入官网:https://developer.nvidia.com/rdp/cudnn-archive,我要安装CUDA11.8,所以选择for CUDA 11.x下的内容

image-20241014095418748

下载完成后,运行以下命令来解压和配置

# 解压
tar -vxf ./cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz
# 复制
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-20241014101132577

四、环境配置

最后运行官网中一开始的命令来完成安装(没有环境的先用前两行代码创建一个)

# conda create -n torch21 python=3.10 -y
# conda activate torch
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=11.8 -c pytorch -c nvidia

五、其他操作(切换/卸载CUDA版本)

(1)切换cuda版本

安装的时候我们电脑下可能已经有默认的cuda版本,安装新版本是是会支持覆盖的

image-20241014095827334

另外也可以通过以下命令切换

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

(2)卸载CUDA

如果想卸载CUDA,进入对应路径,运行以下命令后选中相应的(以卸载CUDA12.0为例),然后Done

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

image-20241014155430601

参考链接:

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

scrapy案例——豆瓣电影Top250的爬取

项目:豆瓣电影Top250的爬取 案例需求: 1.使用scrapy爬虫技术爬取豆瓣电影Top250的电影数据(包括排名、电影名称、导演、演员、url、评分) 2.实现分页爬取,共十页 3.将爬取下来的数据保存在数据库中 案例分析&…

利用由 Search AI 提供支持的自动导入功能加速 Elastic Observability 中的日志分析

作者:来自 Elastic Bahubali Shetti 通过自动化自定义数据集成,以创纪录的速度将日志迁移到 AI 驱动的日志分析。 Elastic 正在通过自动提取自定义日志来加速采用 AI 驱动的日志分析(AI-driven log analytics),随着基…

Java程序设计:spring boot(2)

目录 1 Spring MVC 零配置创建与部署 1.1 创建Spring MVC Web⼯程 1.2 pom.xml 添加坐标相关配置 1.3 添加源代码 1.4 添加视图 1.5 SpringMVC 配置类添加 1.6 入口文件代码添加 1.7 部署与测试 2 Spring Boot 概念&特点 2.1 框架概念 2.2 框架特点 2.3 Spring…

作业2-线性回归的Matlab代码实现

一、前言 相关配置:Matlab 2020a(版本的影响应该不大,.m代码基本都能运行,个人感觉就是Simulink对版本的要求高一些) 二、任务描述 基于近两节课的理论推导,用代码实现线性回归,并对预测结果进…

【vue】vue-router_ vue3路由管理器

代码获取 vue-router_ vue3路由管理器 ⼀、基本介绍 1. 单⻚应⽤程序介绍 1.1 概念 单⻚应⽤程序:SPA(Single Page Application)是指所有的功能都在⼀个HTML⻚⾯上实现 1.2 具体⽰例 单⻚应⽤⽹站: ⽹易云⾳乐 https://music.163.com/ 多⻚应⽤⽹…

linux环境下C程序的编译过程以及makefile的简单使用

在windows下,很多用来进行编程软件对于写好的文件,点击编译即可生成想要文件。如.exe可执行文件,.hex文件或者.bin文件等等。软件为我们省略了很多事。但是对于linux初学者来说,初次接触linux系统,面对命令行黑框框有点…

git-合并连续两次提交(一个功能,备注相同)

前言: 场景是这样,由于我是实现一个功能,先进行了一次commit,然后我发现写的有些小问题,优化了一下功能并且把代码优化了一次,于是又提交了一次。两次的提交都是以相同的备注(当然这个无所谓)&a…

智能时代摩托车一键启动无钥匙进入感受科技前线

向智能化与高性能迈进,技术创新与绿色转型引领摩托车行业智能化出行。 摩托车一键启动无钥匙进入功能是一种先进的车辆控制系统,它允许驾驶员在不使用传统机械钥匙的情况下,通过智能感应技术自动解锁和启动摩托车。这种系统通常包括一个智能钥匙&#x…

【前端】如何制作一个自己的网站(11)

接上文。 除了前面的颜色样式外,字体样式和文本样式也是网页设计中的重要组成部分。 合适的字体和文本排版,不仅可以使页面更加美观,也可以提升用户体验。接下来,我们先来看看CSS如何设置字体样式。 字体样式 同时设置了字体样…

Python SQL 注入攻击及其防护措施:编写安全的数据库查询

Python SQL 注入攻击及其防护措施:编写安全的数据库查询 SQL 注入(SQL Injection)是一种常见且危险的安全漏洞,攻击者通过操纵应用程序的数据库查询输入,执行未经授权的操作,可能会导致数据库数据泄露、篡…

闯关leetcode——136. Single Number

大纲 题目地址内容 解题代码地址 题目 地址 内容 Given a non-empty array of integers nums, every element appears twice except for one. Find that single one. You must implement a solution with a linear runtime complexity and use only constant extra space. …

leetcode30:串联所有单词的字串

给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words ["ab","cd","ef"], 那么 "abcdef…

thinkpad E14 GEN5 加内存

1、正面 2、背面 3、角落 松掉所有螺丝后,用塑料撬片沿着角落开始撬。把所有的卡口都撬开就可以了。 4、内存盖子 取下背板,就看到内存区域了。上面覆盖了一个散热金属盖子。 拿掉金属盖子。 5、内存卡口 我的这代笔记本是板载16G DDR4 3200内存&…

Java 类和对象详解(下)

个人主页:鲤鱼王打挺-CSDN博客 目录 💗前言: 💯一.static关键字 1. 为什么要使用static 2. static 修饰成员变量: 3. static 修饰成员方法: ​编辑 4. 静态代码块 5.静态导入包 💯二.…

C++进阶——set和map

目录 前言 一、set 1.set的基本介绍 2.set的使用 2.1构造与迭代器 2.2插入 2.3删除 2.4查找 2.5获取需要的区间 2.6一些使用示例 3.set和multiset的区别 4.set相关oj题目 二、map 1.map的基本介绍 2.map的使用 2.1构造与迭代器 2.2增删查以及获取区间 2.3数据…

【C语言】strtok、strerror函数

1、strtok函数使用 注意:使用strtok时包含头文件:string.h strtok函数原型: char* strtok(char* str, const char* sep); (1)sep参数指向一个字符串,定义了用作分隔符的字符集合。 &#x…

xlsx xlsx-style-vite 实现前端根据element 表格导出excel且定制化样式 背景 列宽等

前言 先看下最终效果图吧,需要的可以参考我的实现方式 这是最终导出的表格文件 类似这种的,特定单元格需要额外标注,表头也有月份然后细分的,表格组件是这样的 注意 别使用xlsx-style 这个库,太多问题了,…

优阅达携手 Theobald 亮相新加坡科技周,助力企业 SAP 数据集成与应用

针对不同用户需求量身定制解决方案,帮助企业轻松应对从数据提取到分析、从开发到流程管理的 SAP 数据挑战。 上周,2024 新加坡科技周在滨海湾金沙会议展览中心圆满落幕。在为期两天的活动中,七大专题展览同时进行,超过 2,000 家…

【Router】路由器中NAT、NAPT、NPT是什么?

参考链接 NAT vs. NAPT: What’s the Difference? IPv6 Network Prefix Translation (NPt) | pfSense Documentation (netgate.com) 趣谈NAT/NAPT的原理,这篇不可不读! - 知乎 (zhihu.com) NAT (Network Address Translation) NAT说明 NAT&#x…

Java | Leetcode Java题解之第486题预测赢家

题目&#xff1a; 题解&#xff1a; class Solution {public boolean PredictTheWinner(int[] nums) {int length nums.length;int[] dp new int[length];for (int i 0; i < length; i) {dp[i] nums[i];}for (int i length - 2; i > 0; i--) {for (int j i 1; j …