Ubuntu24.04安装NVIDIA驱动及工具包
Ubuntu24.04安装NVIDIA驱动及工具包
- 安装nvidia显卡驱动
- 安装cuda驱动
- 安装cuDNN
- 安装Anaconda
安装nvidia显卡驱动
NVIDIA 驱动程序(NVIDIA Driver)是专为 NVIDIA 图形处理单元(GPU)设计的软件,它充当操作系统与硬件之间的桥梁,使得计算机能够正确识别和使用 GPU 的功能。驱动程序对于确保 GPU 的稳定运行、性能优化以及支持最新的图形技术至关重要。以下是 NVIDIA 驱动程序的一些关键点:
-
硬件兼容性:NVIDIA 驱动程序确保了 GPU 可以被操作系统正确识别,并提供必要的接口来让应用程序和游戏与 GPU 进行交互。
-
性能优化:新的驱动程序版本通常包含性能改进,可以提高游戏帧率或加速专业应用中的图形渲染和其他计算任务。
-
功能更新:随着新技术的发展,如实时光线追踪、DLSS(深度学习超级采样)、Reflex 等,NVIDIA 会通过驱动程序更新来引入这些新功能的支持。
-
稳定性修复:驱动程序更新经常包含对已知问题的修复,以提高系统的整体稳定性和可靠性。
-
安全更新:有时,驱动程序更新也会解决可能存在的安全漏洞,保护用户免受潜在的安全威胁。
-
兼容性:不同的驱动程序版本可能适用于特定的操作系统版本(例如 Windows 或 Linux),并且需要与特定型号的 NVIDIA GPU 兼容。
-
Game Ready Drivers:针对即将发布或已经发布的热门游戏,NVIDIA 会推出 Game Ready Drivers,这类驱动经过特别优化,以确保最佳的游戏体验。
-
Studio Drivers:面向创作者和专业人士,NVIDIA 提供 Studio Drivers,这些驱动经过认证,以确保在创意应用(如 Adobe Premiere Pro、Blender 等)中提供稳定的性能和兼容性。
ubuntu 24.04与nvidia有专门的支持,若通过到nvidia官网下载的版本来安装,不能使用,需要通过系统的软件和升级功能来安装 ,Additional Drivers,选择一个版本来安装。

安装成功后,在terminal中执行nvidia-smi,正常显示显卡的信息

安装cuda驱动
CUDA(Compute Unified Device Architecture)是 NVIDIA 推出的并行计算平台和应用程序接口(API)。它允许软件开发者通过使用 CUDA C、CUDA C++ 或其他支持 CUDA 的语言和工具,直接利用 NVIDIA 图形处理单元(GPU)进行通用计算(GPGPU, General Purpose computing on GPU)。CUDA 使开发者可以编写程序来执行复杂的计算任务,如图像处理、视频编码、科学模拟、深度学习等,并将这些任务分配给 GPU 处理,从而加速计算过程。
CUDA 的核心特性包括:
-
线程层次结构:CUDA 将计算任务分解为多个线程块(blocks),每个线程块又包含多个线程(threads)。线程之间可以在同一块内协作,并且线程块可以被组织成一维、二维或三维网格(grid)。
-
内存模型:CUDA 提供了不同类型的内存,包括全局内存、共享内存、常量内存和纹理内存等。每种内存类型都有其特定的访问特性和用途,以优化数据传输和存储。
-
指令集架构:CUDA 提供了一组专门针对 GPU 并行计算设计的指令,使得开发者能够更好地控制硬件资源。
-
库和工具:NVIDIA 提供了一系列的库(如 cuBLAS、cuFFT 等)和开发工具(如Nsight、CUDA-GDB等),用于简化编程和调试过程。
-
兼容性与扩展性:随着 GPU 架构的发展,CUDA 不断更新以支持新的硬件特性,并保持向后兼容旧版本的代码。
要使用 CUDA,通常需要安装 CUDA Toolkit,这是一个包含了编译器、库和工具的软件包,用于开发和优化基于 CUDA 的应用。此外,运行 CUDA 应用程序还需要一台配备了支持 CUDA 技术的 NVIDIA GPU 的计算机。
通过apt来安装
sudo apt install nvidia-cuda-toolkit
安装成功后,执行nvcc -V 来确认。

安装cuDNN
CuDNN(CUDA Deep Neural Network library)是 NVIDIA 提供的一个用于深度神经网络的 GPU 加速库。它旨在为深度学习开发者提供高性能的构建模块,简化并加速深度学习应用的开发过程。CuDNN 是 CUDA 的一部分,它优化了深层神经网络中最常用的原语(primitives),如卷积、池化、激活函数和归一化等操作。
CuDNN 的主要特点包括:
-
性能优化:CuDNN 针对 NVIDIA GPU 进行了高度优化,能够显著加快训练和推理的速度。它利用了 GPU 的并行计算能力,并针对不同型号的 GPU 优化了算法实现。
-
易用性:通过提供简单易用的 API,CuDNN 使得开发者可以轻松地将高效的深度学习操作集成到他们的应用程序中,而无需深入了解底层硬件细节或编写复杂的 CUDA 代码。
-
广泛的框架支持:大多数流行的深度学习框架(如 TensorFlow、PyTorch、Caffe 等)都内置了对 CuDNN 的支持,这意味着用户可以在这些框架中直接使用 CuDNN 来加速模型训练和推理。
-
自动调优:CuDNN 能够根据不同的网络结构和数据类型自动选择最优算法,以确保最佳性能。对于某些操作,它还可以在运行时动态调整参数,进一步提升效率。
-
跨平台兼容性:尽管 CuDNN 主要设计用于 Linux 和 Windows 操作系统上的 NVIDIA GPU,但它也提供了 Docker 容器镜像等形式的支持,方便开发者在多种环境中部署深度学习应用。
为了使用 CuDNN,你需要先安装 CUDA Toolkit,然后下载并安装与你的 CUDA 版本相匹配的 CuDNN 库。安装完成后,你就可以在你的深度学习项目中启用 CuDNN 支持,从而享受 GPU 加速带来的性能提升。
到官网下载https://developer.nvidia.com/cudnn-downloads
选择对应的平台版本等,页面会显示对应步骤,按照步骤执行。

wget https://developer.download.nvidia.com/compute/cudnn/9.6.0/local_installers/cudnn-local-repo-ubuntu2404-9.6.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2404-9.6.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2404-9.6.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt update
sudo apt -y install cudnn
# 如果安装的是CUDA 11,那么执行如下
sudo apt -y install cudnn-cuda-11
# 如果安装的是CUDA 12,那么执行如下
sudo apt -y install cudnn-cuda-12
安装Anaconda
从中国科学技术大学 https://mirrors.ustc.edu.cn/anaconda/archive/ 下载相应版本。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes
相关文章:
Ubuntu24.04安装NVIDIA驱动及工具包
Ubuntu24.04安装NVIDIA驱动及工具包 安装nvidia显卡驱动安装cuda驱动安装cuDNN安装Anaconda 安装nvidia显卡驱动 NVIDIA 驱动程序(NVIDIA Driver)是专为 NVIDIA 图形处理单元(GPU)设计的软件,它充当操作系统与硬件之间…...
【每日学点鸿蒙知识】组件封装通用方法、callback和await性能对比、Web组件下拉刷新、hsp包报错、WebView圆角
1、HarmonyOS 自定义的组件如何封装一些通用的属性和方法,例如 Java 中的继承? export class Animal{name:stringage:stringconstructor(name:string,age:string) {this.name namethis.age age} }export class Person extends Animal{reading:stri…...
Excel批量设置行高,Excel表格设置自动换行后打印显示不全,Excel表格设置最合适的行高后打印显示不全,完美解决方案!!!
文章目录 说个问题(很严重!!!)写个方案会Python看这里Python环境搭建不存在多行合并存在多行合并 不会Python看这里 说个问题(很严重!!!) 平时处理Excel表格…...
Web Bluetooth API 开发记录
搞了一天的蓝牙串口协议被几个软件和AI带沟里面去了。 1.00001101-0000-1000-8000-00805f9b34fb 是spp协议。但是我用的称是使用的49535343-fe7d-4ae5-8fa9-9fafd205e455蓝牙低功耗spp协议 2.推荐一款软件Android-nRF-Connect github地址:https://github.com/Nor…...
python基础知识(二)
元组 元组与列表类似,不同之处在于,元组的元素不能修改,元组使用()。 集合 集合是一个无序且不重复的元素列表。 基本功能是 进行成员关系测试和删除重复元素。 创建集合使用大括号或者set()函数。 例子: 注意:创建一…...
【每日学点鸿蒙知识】初始化BigInt、包体积瘦身、Tabs嵌套Grid、老年化适配、Release打包失败
1、HarmonyOS 在一个类中,怎么初始化一个BigInt类型的属性? 可以通过BigInt关键字来初始化,如: let a BigInt(1); let b BigInt("2"); 关于Uint8Array与string互转,示例: // string 转Uint8…...
Android service framework笔记
1. 网络摘录如何添加一个Application Framework Service(一)(without native code) 如何添加一个Application Framework Service(二)(with native code) 2.书籍摘录...
安全攻防:中间人攻击
1. 中间人攻击定义 中间人攻击(简称MITM)是攻击者在进行网络通信的双方中间,分别与两端建立独立的联系,并进行数据嗅探甚至篡改,而通信的双方却对中间人毫不知情,认为自己是直接在与对端通信。2. 常见中间人…...
【Rust自学】7.3. use关键字 Pt.1:use的使用与as关键字
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 7.3.1. use的作用 use的作用是将路径导入到当前作用域内。而引入的内容仍然是遵守私有性原则,也就是只有公共的部分引入进来才…...
变长的时间戳(第4版)
以32位为单位,一个时间戳可以是32位、64位、96位。 122932 113032 A类:(40036597)1000146097000≤229 B类:246060100086400000≤229 C类:1000100010001000000000≤230 每400年有40036597146097天,A类时间戳能表达1000…...
Intent--组件通信
组件通信1 获取子活动的返回值 创建Activity时实现自动注册!【Activity必须要注册才能使用】 默认 LinearLayout 布局,注意 xml 中约束布局的使用; 若需要更改 线性布局 只需要将标签更改为 LinearLayout 即可,记得 设置线性布局…...
Android14 OTA升级速度过慢问题解决方案
软件版本:Android14 硬件平台:QCS6115 问题:OTA整包升级接近20min,太长无法忍受。 该问题为Android高版本的虚拟AB分区压缩技术所致,其实就是时间换空间,个人推测AB分区压缩会节约硬件存储空间࿰…...
仓颉语言实战——1. 类型
仓颉语言实战——1. 类型 仓颉语言(Cangjie Language)是一个现代化的、简洁而强大的编程语言,它的类型系统为高效开发提供了极大的支持。本篇文章将围绕仓颉语言中的类型系统展开,结合实战代码,帮助开发者快速掌握这一…...
AWTK 在全志 tina linux 上支持 2D 图形加速
全志 tina linux 2D 图形加速插件。 开发环境为 全志 Tina Linux 虚拟机。 1. 准备 下载 awtk git clone https://github.com/zlgopen/awtk.git下载 awtk-linux-fb git clone https://github.com/zlgopen/awtk-linux-fb.git下载 awtk-tina-g2d git clone https://github.co…...
MySql幻读问题
认识具有反复性。 之前以为理解了幻读,最近看黑马的mysql教程以为再次加深了认识。然而现在认为之前的理解都是错误的,而且网上很多关于幻读的解释,都不太准确。 关于幻读的最佳解释还是要看官网mysql官网幻读解释 脏读和不可重复读比较好理…...
(南京观海微电子)——GH7009开机黑屏案例分析
一、 现象描述: 不良现象: LVDS模组,开机大概2秒后就黑屏。 二、问题分析 等主机进入Kernel 后做以下测试: 1、手动reset LCM 后 可以显示正常; 总结: 1)uboot 部分HS 太窄,仅有4个clk宽度&am…...
【Rust自学】7.4. use关键字 Pt.2 :重导入与换国内镜像源教程
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 7.4.1. 使用pub use重新导入名称 使用use将路径导入作用域内后。该名称在词作用域内是私有的。 以上一篇文章的代码为例: m…...
前端学习DAY28(水平)
元素水平方向的布局 元素在其父元素中水平方向的位置有以下几个属性共同决定 margin-left border-left padding-left width padding-right border-right margin-right 一个元素在其父元素中,水平布局必须要满足以下的等式 margin-left border-left …...
【MyBatis】day01搭建MyBatis框架
目录 第一章 初识Mybatis 第二章 搭建Mybatis框架 第三章 Mybatis核心配置详解【mybatis-config.xml】 第一章 初识Mybatis 1.1 框架概述 生活中“框架” 买房子 笔记本电脑 程序中框架【代码半成品】 Mybatis框架:持久化层框架【dao层】 SpringMVC框架&…...
yolov7算法及其改进
yolov7算法及其改进 1、YOLOV7简介2、ELAN架构设计2.1、Partial Residual Networks2.1.1、Masked Residual Layer2.1.2、Asymmetric Residual Layer 2.2、Cross Stage Partial Networks2.2.1、Cross stage partial operation2.2.2、Gradient flow truncate operation 2.3、Effi…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
