RTX NVIDIA 3090卡配置对应pytorch,CUDA版本,NVIDIA驱动过程及问题整理
买了两块3090卡闲置很长时间了,之前tf 1.12.0版本用习惯了不想转工具。这段时间闲下来转了之后有些环境不适配,在雷神帮助下安装完毕,虽然出了点怪东西,整体还好。
原环境CUDA为11.4 其他配置如下

之前conda install的pytorch实为cpu版本,查看gpu等信息时会显示
最开始是想着先把pytorch直接替换为CUDA 11.4版本直接安装即可,在pytorch官网上目前为2.4.1版本,CUDA最低11.8,torch 2.0版本以上的最低也是11.7,安装方式为:

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
可尝试将11.8改为11.4(未尝试,到这里就尝试用11.8或则12)或找寻前续对应版本,LLM等相关方向建议直接换最近CUDA 12.4。 11.4在装时测试机找不到资源,11.3安装后寻找不到GPU资源。
到目前为止就需要考虑先升级CUDA
Section 1 CUDA 升级(11.4 -> 11.8)
先查看下系统信息
cat /etc/os-release
lsb_release -a

CUDA 官网直接进入后选择即可(地址),本机打算升级到CUDA 11.8(地址)

在安装 CUDA 11.8 时,deb 和 runfile 是两种不同的安装方式:
-
deb:
- 适用于基于 Debian 的系统(如 Ubuntu)。
- 这种安装方式可以通过包管理器轻松安装和管理,方便更新和卸载。
- 使用命令如
sudo dpkg -i <package.deb>来安装。
-
runfile:
- 适用于更广泛的 Linux 发行版。
- 这种方式提供了更大的灵活性,可以选择安装哪些组件(例如只安装驱动或工具包)。
- 需要在命令行中执行,例如
sudo sh cuda_11.8.0_XXX_linux.run。
通常,如果你使用的是 Ubuntu 等 Debian 系统,推荐使用 deb 方式;如果你需要更多的控制或使用其他 Linux 发行版,可以选择 runfile。
这边安装时选择的deb (local)

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.8.0/local_installers/cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
照着安装即可。
安完可能有报错:

可参照下文尝试是否能够解决解决apt-get安装中的E: Sub-process /usr/bin/dpkg returned an error code (1)问题 - 焦距 - 博客园

把这个进行之后,尝试
sudo apt-get update
sudo apt-get -y install cuda
完了之后因为CUDA重装,需要重启电脑,直接reboot
有概率可能就没问题了,但是本机安装时重启后nvidia-smi后还是报错:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
表明驱动未安装或则启动。
Section2 解决NVIDIA驱动问题
参考文章如下:
NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. - nannandbk - 博客园
nvidia-smi出不来,已经显示报错了,那么就直接进行第二步:
使用nvcc -V检查驱动和cuda。

显示找不到nvcc,可以进目录查看下是否有装
cd /usr/local/cuda/bin

这个表明安装过的,那就是路径没对
在bashrc中最后添加以下两行
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
结束后source ~/.bashrc即可。非管理员的话在自己账户下操作即可,需要sudo权限。自己的电脑建议都添加上,root的bashrc位置为/root/。

完了之后nvcc -V

这个时候就已经完成。按之前博客文章给出的教程继续,查看已安装驱动的版本信息
ls /usr/src | grep nvidia

这个nvidia后面的版本记下,而后接着输入以下命令:
sudo apt-get install dkms
sudo dkms install -m nvidia -v 520.61.05
等待安装完成

正常情况操作完之后能够恢复,但本机安装完之后,接着遇到怪东西:

所以直接按照之前教程后续步骤接着安装驱动。期间会更新一些包,会耗时一段时间。

在 Ubuntu 中,prime-select query 命令显示 on-demand 表示系统当前使用的是 NVIDIA的 on-demand 模式。这种模式下,系统会在需要时自动切换到 NVIDIA GPU,而在其他时间则使用集成显卡 (通常是 Intel GPU),以节省电池电量和减少热量产生
具体说明:
On-demand 模式: 只有在运行需要 GPU 的程序时,NVIDIA GPU 才会被激活。这有助于提高能效。
NVIDIA 模式: 系统始终使用 NVIDIA GPU,适合需要持续高性能的场合。
Intel 模式: 只使用集成的 Intel GPU,不使用 NVIDIA GPU,适合低功耗需求。
如果希望在运行需要 GPU 的程序时使用 NVIDIA GPU,on-demand 模式是一个不错的选择
本机安装时直接sudo prime-select nvidia切N卡,然后因为更新驱动,随后reboot
装完之后又来了怪东西,CUDA版本变成12.2了。

Section 3 Pytorch对应安装
网上目前暂时没有发现太多RTX 3090和CUDA 12是否适配的说法。
打算直接将pytorch官网环境选择指定为12.1(考虑CUDA同12大版本可兼容)。

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch-c nvidia
本机安装时又出怪东西

这个一直转,后面挂了个screen过了很久回来看还在转,最后切pip安装发现的速度只有10多kb/s,添加了清华镜像试了段时间也不出来。考虑直接换pip install了。
这边需要查看下python和pip位置

这里解释一下,因为这里显示的虚拟环境时conda自己建的,设置的python版本为3.8.x,pip对应的应该是系统自带的python,安装时先试了pip install 来安装pytorch,安装后import torch找不到module(这些环境我也很小白),后面直接切conda环境下的pip:
![]()
这个涉及较多依赖,需要较长时间,补个清华镜像也有可能超时,
再敲一遍安装重新安就好。
完成之后测试一下


目前看来正常,后续是否出问题待验证...
相关文章:
RTX NVIDIA 3090卡配置对应pytorch,CUDA版本,NVIDIA驱动过程及问题整理
买了两块3090卡闲置很长时间了,之前tf 1.12.0版本用习惯了不想转工具。这段时间闲下来转了之后有些环境不适配,在雷神帮助下安装完毕,虽然出了点怪东西,整体还好。 原环境CUDA为11.4 其他配置如下 之前conda install的pytorch实为…...
【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL21
根据状态转移表实现时序电路 描述 某同步时序电路转换表如下,请使用D触发器和必要的逻辑门实现此同步时序电路,用Verilog语言描述。 电路的接口如下图所示。 输入描述: input A , input clk , …...
【深度】为GPT-5而生的「草莓」模型!从快思考—慢思考到Self-play RL的强化学习框架
原创 超 超的闲思世界 2024年09月11日 19:17 北京 9月11日消息,据外媒The Information昨晚报道,OpenAI的新模型「草莓」(Strawberry),将在未来两周内作为ChatGPT服务的一部分发布。 「草莓」项目是OpenAI盛传已久的…...
【编程底层原理】Java常用读写锁的使用和原理
一、引言 在Java的并发世界中,合理地管理对共享资源的访问是至关重要的。读写锁(ReadWriteLock)正是一种能让多个线程同时读取共享资源,而写入资源时需要独占访问的同步工具。本文将带你了解读写锁的使用方法、原理以及它如何提高…...
自恢复保险丝SMD1206B005TF在电路中起什么作用
自恢复保险丝SMD1206B005TF在电路中起到过流保护的作用。 自恢复保险丝,也称为正温度系数(PTC)热敏电阻,是一种能够在电流超过预设值时自动断开电路,并在故障排除后自动恢复的元件。这种保险丝的核心材料是高分子聚合…...
2024年躺平,花大半年的时间,就弄了这一件事儿:《C++面试真题宝典》
今年,是我的第3个躺平年,躺得我四肢都快蜕化了... 为了让一切都变得舒服,我决定主动地去做些什。 在我生命的一个不起眼却意义非凡的角落,我与C结下了不解之缘。这份热爱,如同一位老友,陪伴我度过了无数个…...
PHP基础语法讲解
大家好,我是程序员小羊! 前言: PHP(Hypertext Preprocessor)是一种常用于网页开发的服务器端脚本语言,易于学习并且与 HTML 紧密结合。以下是 PHP 的基础语法详细讲解。 1. PHP 基础结构 1.1 PHP 脚本结…...
【论文速看】DL最新进展20240923-长尾综述、人脸防伪、图像分割
目录 【长尾学习】【人脸防伪】【图像分割】 【长尾学习】 [2024综述] A Systematic Review on Long-Tailed Learning 论文链接:https://arxiv.org/pdf/2408.00483 长尾数据是一种特殊类型的多类不平衡数据,其中包含大量少数/尾部类别,这些类…...
device靶机详解
靶机下载地址 https://www.vulnhub.com/entry/unknowndevice64-1,293/ 靶机配置 主机发现 arp-scan -l 端口扫描 nmap -sV -A -T4 192.168.229.159 nmap -sS -Pn -A -p- -n 192.168.229.159 这段代码使用nmap工具对目标主机进行了端口扫描和服务探测。 -sS:使用…...
十四、SOA(在企业中的应用场景)
在企业中,**SOA(面向服务架构)**被广泛应用于多个场景,帮助企业提高灵活性、效率和业务响应能力。SOA通过分解企业系统中的功能模块,以服务的形式进行封装和集成,支持跨平台、跨系统的协同工作。以下是SOA在…...
单片机与PIC的区别:多方面对比
单片机与PIC的区别:多方面对比 在现代电子产品的设计中,单片机和PIC都是不可或缺的控制器。尽管它们在功能上有许多相似之处,但在设计、应用、优势和劣势等方面却有显著区别。今天,我们就来详细对比一下单片机和PIC。 1. 定义与…...
python新手的五个练习题
代码 # 1. 定义一个变量my_Number,将其设置为你的学号,然后输出到终端。 my_Number "20240001" # 假设你的学号是20240001 print("学号:", my_Number) # 2. 计算并输出到终端:两个数(例如3和5)的和、差、乘积和商。 num1 3 num2 5 print(&…...
Go语言并发编程之sync包详解
在当今多核时代,如何高效地利用并发是每个Go语言开发者都需要掌握的技能。Go语言为我们提供了丰富的并发编程工具,其中最基础也是最重要的就是sync包。本文将深入探讨sync包的各种并发原语,包括WaitGroup、Mutex、RWMutex、Cond、Once和Pool,并通过丰富的代码示例和详尽的解…...
函数题 6-10 阶乘计算升级版【PAT】
文章目录 题目函数接口定义裁判测试程序样例输入样例输出样例 题解解题思路完整代码AC代码 编程练习题目集目录 题目 要求实现一个打印非负整数阶乘的函数。 函数接口定义 void Print_Factorial ( const int N ); 其中N是用户传入的参数,其值不超过 1000 1000 10…...
java项目之基于springboot的医院资源管理系统源码
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的医院资源管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…...
Docker命令全解析:掌握容器化技术的基石
在容器化技术日益普及的今天,Docker作为其中的佼佼者,凭借其轻量级、可移植和易于管理的特性,赢得了广泛的关注和应用。而掌握Docker命令,则是深入理解和高效利用Docker的关键。本文将带您走进Docker命令的世界,从基础…...
2024.9.19
[ABC266F] Well-defined Path Queries on a Namori 题面翻译 题目描述 给定一张有 N N N 个点、 N N N 条边的简单连通无向图和 Q Q Q 次询问,对于每次询问,给定 x i , y i x_i,y_i xi,yi,表示两点的编号,请你回答第 x i …...
“跨链桥“的危害
跨链桥(Cross-Chain Bridges)是连接不同区块链网络的工具,允许用户在不同的区块链之间转移资产和数据。尽管跨链桥为区块链生态系统带来了许多便利,但它们也存在一些潜在的危害和风险。以下是一些主要的危害: 1. 安全…...
GO CronGin
文章目录 Robfig Cron介绍1. **安装 robfig/cron**2. **基本用法**示例:创建一个简单的定时任务3. **Cron 表达式**常用的 Cron 表达式示例:4. **添加和管理任务**5. **上下文支持**6. **使用场景**7. **高级用法**总结 Cron 在Gin中实践使用1. **安装 r…...
手机在网状态查询接口如何用C#进行调用?
一、什么是手机在网状态查询接口? 手机在网状态查询接口是利用实时数据来对手机号码在运营商网络中的状态进行查询的工具,包括正常使用状态、停机状态、不在网状态、预销户状态等。 二、手机在网状态查询适用哪些场景? 例如:商…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
