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…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
