NVIDIA(英伟达) GPU 芯片架构发展史
GPU 性能的关键参数
-
CUDA 核心数量(个):决定了 GPU 并行处理能力,在 AI 等并行计算类业务下,CUDA 核心越多性能越好。
-
显存容量(GB):决定了 GPU 加载数据量的大小,在 AI 训练场景中,显存的大小决定了一次能够加载训练数据的量,在大模型训练时,显存容量很重要。
-
显存带宽(GB/s):是 GPU 芯片和显存之间的数据传输速率,作为决定性能最重要的因素之一,由显存频率和位宽决定。
-
显存位宽(bit):显存在一个时钟周期内所能传送数据的位数,位数越大则瞬间所能传输的数据量越大。
-
显存频率(MHz):反映了显存的速度。
-
-
浮点数算力(FLOPS):用来估算 GPU 的处理能力。
-
半精度(FP16):使用 2 个字节(16 位)进行存储。用于需要节省内存和加快计算速度的场景,如深度学习中的混合精度训练。在这些应用中,通过结合使用半精度和单精度浮点数,可以在保持模型精度的同时,减少内存占用和加快训练速度。
-
单精度(FP32):使用 4 个字节(32 位)进行存储。被广泛用于各种计算密集型应用,包括科学计算、图形渲染、深度学习等。在这些应用中,单精度浮点数提供了足够的精度和数值范围,以满足大多数计算需求。
-
双精度(FP64):使用 8 个字节(64 位)进行存储。用于需要高精度计算的场景,如复杂的科学模拟、计算化学、分子建模、流体动力学等。
-
NVIDIA GPU 系列型号分类
1. 消费级 GeForce 系列
-
RTX 50XX 系列(Blackwell)
-
RTX 40XX 系列(Ada Lovelace)
-
RTX 30XX 系列(Ampere)
-
RTX 20XX 系列(Turing)
-
GTX 16/10 系列(Turing/Pascal)
2. 专业工作站级
-
RTX A50XX 系列(Ada/Ampere)
-
RTX A60XX 系列(Ada/Ampere)
3. 数据中心级
-
Tesla H100 系列(Hopper)
-
Tesla A100 系列(Ampere)
-
Tesla L40 系列(Ada Lovelace)
NVIDIA GPU 架构发展简史
NVIDIA Tesla 系列服务器 GPGPU 用于大规模的分布式 AI 训练。
-
https://zh.wikipedia.org/wiki/NVIDIA_Tesla
2008 - Tesla(特斯拉)
Tesla 架构是 NVIDIA 第一个实现了统一着色器模型的芯片架构,具有完整的 Transform(坐标转换)、Lighting(光源处理)、Setup(三角形设置)和 Rendering(渲染引擎) 功能。针对 HPC 和 AI 场景,应用于早期的 CUDA 系列显卡中,但并非真正意义上的 GPGPU 芯片。
-
1 个 NVIDIA Tesla GPU 包含 7 个 TPC(Texture Processor Cluster,纹理处理集群)。
-
1 个 TPC 包含 2 个 SM(Stream Multi-processor,流多处理器)。
-
1 个 SM 包含:
-
6 个 SP(Streaming Processor,流处理器)。SP 是 GPU 最基本处理单元,指令和任务最终都是在 SP 上处理的。GPU 所谓的并行计算,也就是有很多个 SP 在同时进行计算。
-
2 个 SFU(Special Function Unit,特殊函数的计算单元)
-
1 个 I-Cache(指令缓存)
-
1 个 C-Cache(常量缓存)
-
1 个 MT Issue(多线程指令获取)
-
1 个 Shared Memory(共享内存)
-
-
1 个共享的 L1 Cache(一级缓存)
-
1 个共享的 Fetch/Dispatch(取指/分发)部件。
-
Load/Store Queues(访问存储单元),在 SM 和 Main Memory 之间快速传输数据;
-
Warp Scheduler(线程调度器),每个 Warp(线程束)包含了 32 个并行的 Threads,它们使用不同的数据执行相同的命令,Scheduler 会负责这些 Threads 的调度;
再细化每个 SP,包含了:
-
1 个共享的 Fetch/Decode(取指/译码)部件。
-
8 个 ALU(逻辑运算单元)。
-
4 组 Execution contexts(执行环境),可 Concurrent but interleaved(并发交叉)执行 4 条 Instruction Streams(指令流)。
-
每组 Execution contexts 有 8 个 Context,共计 32 个 Fragments(并发程序片元),即 32 个 CUDA threads。
2010 - Fermi(费米)
Fermi 是第一个真正意义上的 GPGPU 架构芯片,拥有 30 亿个晶体管,共计 512 个 CUDA core。并提高了以下关键特性:
-
提高 FP64 双精度性能
-
支持 ECC:ECC 支持在 DC 场景中安全地部署大量 GPU,并确保数据敏感型 Application 免受内存错误的影响。
-
True Cache Hierarchy:一些并行算法无法使用 GPU 的 SM(Share Memory),用户需要一个真正的缓存架构来帮助他们。
-
更多的共享内存:许多 CUDA 程序员要求超过 16 KB 的 SM 来加速他们的应用程序。
-
更快的上下文切换:用户要求在应用程序和更快的图形和计算互操作之间进行更快的上下文切换。
-
更快的 Atomic Operations(原子操作):用户要求为他们的并行算法提供更快的读-修改-写原子操作。
-
一个 Fermi GPU 拥有 16 个 SM。
-
每个 SM:
-
2 个 Warp(线程束)
-
2 组,共 32 个 CUDA Core
-
16 组加载存储单元(LD/ST)
-
4 个特殊函数单元(SFU)
-
-
每个 Warp:
-
1 个 Warp 调度器(Warp Scheduler)
-
16 个 Core
-
分发单元(Dispatch Unit)
-
-
每个 Core:
-
1 个 FPU(浮点数单元)
-
1 个 ALU(逻辑运算单元)
-
2012 - Kepler(开普勒)
Kepler 的架构设计思路是减少 SM 单元数(在这一代中叫 SMX 单元),增加每组 SM 单元中的 CUDA core 数,每个 SM 单元的 CUDA core 数由 Fermi 架构的 32 个增至 192 个。相较于 Fermi,Kepler 更快,效率更高,性能更好。
Kepler 将 SM 升级到了 SMX,支持动态创建渲染线程(下图),以降低 CPU 和 GPU 之间的数据传输延迟。
每个 SMX:
-
4 个 Warp Scheduler,8 个 Dispatch Unit。
-
绿色:192 个 CUDA 内核,分在 12 条 lane 上,每条分别是 16 个。
-
黄色:64 个 DP 双精度运算单元,分在 4 条 lane 上,每条 lane 上 16 个。
-
32 个 LD/ST Unit。
-
32 个 SFU。
2014 - Maxwell(麦克斯韦)
Maxwell 的 SM 单元和 Kepler 相比又有很大变化,这一代的 SM 单元更像是把 4 个 Fermi 的 SM 单元,按照 2x2 的方式排列在一起,这一代称之为 SMM 单元。
SMM 使用基于象限的设计,具有四个 32 CUDA core 的 Processing blocks(处理块),每个处理块都有一个专用的 Warp 调度程序,能够在每个时钟分派两条指令。
-
每个 Maxwell GPU 有 4 个 GPC,每个 GPC 有 4 个 SMM。
-
每个 SMM 单元:
-
八个纹理单元(texture units)。
-
一个多态引擎(Polymorph engine)的图形几何处理。
-
专用寄存器文件和共享内存。
-
每个处理块:
-
1 个 Warp Scheduler,2 个 Dispatch Unit。
-
绿色:32 个 CUDA core。
-
8个 LD/ST Unit。
-
8个 SFU。
2016 - Pascal(帕斯卡)
Pascal 将处理器和数据集成在同一个程序包内,以实现更高的计算效率。
Pascal 的 CUDA core 总数从 Maxwell 的每组 SM 单元 128 个减少到了每组 64 个,这一代最大的特点是又把 DP 双精度运算单元加回来了。制程工艺升级到了 16nm,性能大幅提升,功耗却不增加。1080 系列、1060 系列基于 Pascal 架构。
Pascal 拥有 GP100、GP102 两种大核心,核心是一个完整的 GPU 模组。
-
GP100:3840 个 CUDA core,60 组 SM 单元;
-
GP102:3584 个 CUDA core,28 组 SM 单元;
GP100 核心的 SM 单元:
-
每个 SM 单元中,分为 2 个 Process Block,每个 Process Block 中:
-
1 个 Warp Scheduler,2 个 Dispatch Unit。
-
绿色:32 个 CUDA core。
-
黄色:16 个 DP 双精度运算单元,分在 2 条 lane 上,每条 lane 上 8 个。
-
8 个 LD/ST Unit。
-
8 个 SFU。
-
2017 - Volta(伏特)
Volta 配备了 640 个 Tensor 核心,每秒可提供超过 100 兆次浮点运算(TFLOPS)的深度学习效能,用于深度学习、AI 运算等,比前一代的 Pascal 架构快 5 倍以上。
Tesla V100(Volta 架构)
-
CUDA 核心:5120 个
-
显存容量:16GB/32GB HBM2
-
显存带宽:900 GB/s
-
浮点算力:
-
FP32:约 15.7 TFLOPS
-
FP64:约 7.8 TFLOPS(双精度为单精度的一半)
-
-
价格:约 10,000 美元
从 Volta 开始,将一个 CUDA core 拆分为两部分:
-
FP32
-
INT32
好处是在同一个时钟周期里,可以同时执行浮点和整数指令,提高计算速度。
Volta 架构的 GV100 核心。每个 SM 单元中,分为 4 个 Process Block,每个 Process Block 中:
-
1 个 Warp Scheduler,1 个 Dispatch Unit。
-
8 个 FP64 Core。
-
16 个 INT32 Core。
-
16 个 FP32 Core。
-
2 个 Tensor Core。
-
8 个 LD/ST Unit。
-
4 个 SFU。
2018 - Turing(图灵)
Turing 架构配备了名为 RT Core 的专用光线追踪处理器,能够以高达每秒 10 Giga Rays 的速度对光线和声音在 3D 环境中的传播进行加速计算。
Turing 架构将实时光线追踪运算加速至上一代 NVIDIA Pascal™ 架构的 25 倍,并能以高出 CPU 30 多倍的速度进行电影效果的最终帧渲染。2060 系列、2080 系列显卡也是跳过了 Volta 直接选择了 Turing 架构。
Turing架构目前一共有 3 种核心:
-
TU102 核心
-
TU104 核心
-
TU106 核心
Turing 架构的 TU102 GPU,它的特点如下:
-
6 GPC(图形处理簇)
-
36 TPC(纹理处理簇)
-
72 SM(流多处理器)
-
每个 GPC 有 6 个 TPC,每个 TPC 有 2 个 SM
-
4,608 CUDA core
-
72 RT core
-
576 Tensor core
-
288 纹理单元
-
12x32 bit GDDR6 内存控制器(共 384 位)
TU102 核心的单个 SM 的结构图如下:
-
每个 SM 包含 4 个处理块,每个处理块中:
-
1 个 Warp Scheduler,1 个 Dispath Unit。
-
16 个 INT32 Core。
-
16 个 FP32 Core。
-
2 个 Tensor Core。
-
4 个 LD/ST Unit。
-
4 个 SFU。
-
256 KB 寄存器文件。
-
2020 - Ampere(安培)
2020 年 5 月 14 日,NVIDIA 发布了最新一代的 A100 GPU 产品(简称 GA100),采用 Ampere 架构。
Tesla A100(Ampere 架构)
-
CUDA 核心:6912 个
-
显存容量:40GB/80GB HBM2
-
显存带宽:1,555 GB/s(80GB 版本)
-
浮点算力:
-
FP32:约 19.5 TFLOPS
-
TF32(AI 优化):156 TFLOPS
-
-
价格:约 10,000 美元
下面我们通过 Ampere 架构为例,介绍 GPU 的组成部分。
Ampere 架构沿用了成熟的 GPC-TPC-SM 多级架构,包含了:
-
8 组 GPC(Graphics Processor Cluster,图形处理簇)。
-
每组 TPC 包含 8 组 SM(Stream Multiprocessor,流多处理器)。
-
每组 GPC 包含 8 组 TPC(Texture Processor Cluster,纹理处理簇)。
-
-
2 组 L2 Cache,避免计算单元访问远端 L2 Cache 时出现高延迟。每组 L2 Cache 为 40MB,在一定程度上减轻计算单元对显存带宽的依赖。
-
PCI Express 4.0
-
NVLink 3.0
再将 A100 核心的 SM 展开,可以看到 Ampere 的 SM 单元设计沿用了从 Volta 开始的分精度计算思路,将计算核心分成了:
-
针对整数计算的 INT32 单元
-
针对浮点计算的 FP32、FP64 单元
-
针对 FP16、INT8 等 AI 计算中常见的数据类型的 Tensor Cores
每个 SM 包含了:
-
1 个共享的 L1 Ins-Cache(一级指令缓存)
-
1 个共享的 L1 Data-Cache(一级数据缓存)
-
1 个共享的 Shared Memory(共享内存)
-
4 个子模块
其中 RT Cores 是游戏卡才有的,面对纯计算用途的 GA100 并不需要。
每个子模块包含了:
-
1 个 L0 I-Cache(指令缓存)
-
1 个 Warp Scheduler(线程调度器),每个 Warp(线程束)包含了 32 个并行的 Threads,它们使用不同的数据执行相同的命令,Scheduler 会负责这些 Threads 的调度。Warp Scheduler 的指令通过 Dispatch Units 发送到 Core 执行。
-
1 个 Dispatch Unit(取指/分发)部件。
-
1 个 Register File(寄存器文件)。
-
16 个针对浮点计算的 FP32 CUDA Core。
-
16 个针对整数计算的 INT32 CUDA Core。
-
8 个针对浮点计算的 FP64 CUDA Core。
-
1 个针对 FP16、INT8 等 AI 计算的 Tensor Core 3.0,几乎可以加速所有的常见数据类型,包括:FP16、BF16、TF32、FP64、INT8、INT4 和二进制。
-
8 个 LD/ST(Load/Store Queues,访问存储单元),在 SM 和 Main Memory 之间快速传输数据;
-
1 个 SFU(Special Function Unit,特殊函数的计算单元),执行特殊数学运算,例如:Sin、Cos、Log 等。
而 GA102 核心的 SM 单元,分成 4 个处理块,每个处理块中:
-
1 个 Warp Scheduler,1 个 Dispatch Unit。
-
8 个 FP64 Core。
-
16 个 FP32 Core。
-
16 个 INT32 Core。
-
1 个 Tensor Core。
-
8 个 LD/ST Unit。
-
4 个 SFU。
2022 - Hopper(霍珀)
Hopper 架构的 H100 GPU 是 NVIDIA 划时代的产品,其 CUDA 核心数量达到了惊人的 14,592~16,896 颗,转为 AI 大模型训练开发。
Tesla H100(Hopper 架构)
-
CUDA 核心:14,592~16,896
-
显存容量:80GB HBM3
-
显存带宽:3 TB/s(理论值)
-
浮点算力:
-
FP8(AI 优化):4,000 TFLOPS(稀疏模型)
-
-
价格:约 30,000 美元(含企业支持服务38)
-
应用:万亿参数语言模型训练、超大规模数据中心
H100 相对于 A100 有了质的飞跃。配备 InfiniBand interconnect 的 H100 的性能是 A100 的 30 倍。新的 NVLink 交换系统互连针对一些最大且最具挑战性的计算工作负载,这些工作负载需要跨多个 GPU 加速节点的模型并行性来适应。这些工作负载带来了新一代的性能飞跃,在某些情况下, InfiniBand 的性能比 H100 再次提高了三倍。
H100 架构详解推荐浏览官方文档:https://developer.nvidia.com/zh-cn/blog/nvidia-hopper-architecture-in-depth/
相关文章:
NVIDIA(英伟达) GPU 芯片架构发展史
GPU 性能的关键参数 CUDA 核心数量(个):决定了 GPU 并行处理能力,在 AI 等并行计算类业务下,CUDA 核心越多性能越好。 显存容量(GB):决定了 GPU 加载数据量的大小,在 AI…...
C++设计一:日期类Date实现
一、引言与概述 1 引言 日期操作是软件开发中的常见需求,如日程管理、数据统计等场景均需处理日期的比较、偏移及合法性校验。为简化此类操作,本文设计了一个高效且类型安全的C日期类Date。 该类通过构造函数内嵌合法性检查,确保对象初始状…...
关于2023新版PyCharm的使用
考虑到大家AI编程的需要,建议大家安装新版Python解释器和新版PyCharm,下载地址都可以官网进行: Python:Download Python | Python.org(可以根据需要自行选择,建议选择3.11,保持交流版本一致&am…...
【Azure 架构师学习笔记】- Azure Databricks (15) --Delta Lake 和Data Lake
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (14) – 搭建Medallion Architecture part 2 前言 ADB 除了UC 这个概念之外,前面【Azure 架构师学习笔记】- Azure Databricks (1…...
一文了解Conda使用
一、Conda库频道 conda的软件频道是存储软件包的远程位置,当在Conda中安装软件包时,它会从指定的频道中下载和提取软件包。频道包含了各种软件包,不同的频道可能提供不同版本的软件包,用户可以根据需要选择适合的版本。 常见 Co…...
SP导入智能材质球
智能材质球路径 ...\Adobe Substance 3D Painter\resources\starter_assets\smart-materials 放入之后就会自动刷新...
记录一次Spring事务失效导致的生产问题
一、背景介绍 公司做的是“聚合支付”业务,对接了微信、和包、数字人民币等等多家支付机构,我们提供统一的支付、退款、自动扣款签约、解约等能力给全国的省公司、机构、商户等。 同时,需要做对账功能,即支付机构将对账文件给到…...
腾讯云物联网平台(IoT Explorer)设备端使用
1、直接看图流程 2、跑起来demo,修改产品id,设备名称,设备秘钥。 3、连接部分 4、修改默认地址和端口 sdk里面的地址默认是带着产品ID拼接的,咱们现在中铁没有泛域名解析,要改下这里。把+productID都去掉,然后地址里的.也去掉。...
ML.NET库学习023: ONNX Runtime 中 C++ 辅助函数解析:Span 类与张量操作
文章目录 ML.NET库学习023: ONNX Runtime 中 C 辅助函数解析:Span 类与张量操作主题项目主要目的和原理项目概述实现的主要功能关键函数代码结构 主要功能与步骤Span 类的实现张量大小计算数据加载与处理准确性评估 数据集的使用以下是逐步解释ÿ…...
利用opencv_python(pdf2image、poppler)将pdf每页转为图片
1、安装依赖pdf2image pip install pdf2image 运行.py报错,因为缺少了poppler支持。 2、安装pdf2image的依赖poppler 以上命令直接报错。 改为手工下载: github: Releases oschwartz10612/poppler-windows GitHub 百度网盘: 百度网盘…...
告别GitHub连不上!一分钟快速访问方案
一、当GitHub抽风时,你是否也这样崩溃过? 😡 npm install卡在node-sass半小时不动😭 git clone到90%突然fatal: early EOF🤬 改了半天hosts文件,第二天又失效了... 根本原因:传统代理需要复杂…...
学习DeepSeek V3 与 R1 核心区别(按功能维度分类)
一、定位与架构 V3(通用型模型) 定位:多模态通用大模型,擅长文本生成、多语言翻译、智能客服等多样化任务12。架构:混合专家(MoE)架构,总参数 6710 亿,每次…...
Linux总结
1 用户与用户组管理 1.1 用户与用户组 //linux用户和用户组 Linux系统是一个多用户多任务的分时操作系统 使用系统资源的用户需要账号进入系统 账号是用户在系统上的标识,系统根据该标识分配不同的权限和资源 一个账号包含用户和用户组 //用户分类 超级管理员 UID…...
web高可用集群项目(数据库主从同步、文件共享存储、nginx动静分离+负载均衡+高可用)
一、项目环境 二、环境准备 主机名IP地址备注openEuler-1192.168.121.11主负载调度器openEuler-2192.168.121.12副负载调度器openEuler-3192.168.121.13web-1(静态)openEuler-4192.168.121.14web-2(静态)openEuler-5192.168.121.…...
如何快速上手RabbitMQ 笔记250304
如何快速上手RabbitMQ 要快速上手 RabbitMQ,可以按照以下步骤进行,从安装到基本使用逐步掌握核心概念和操作: 1. 理解核心概念 Producer(生产者):发送消息的程序。Consumer(消费者)…...
PPT小黑第26套
对应大猫28 层次级别是错的,看着是十页,导入ppt之后四十多页 选中所有 红色蓝色黑色 文本选择标题:选择 -格式相似文本(检查有没有漏选 漏选的话 按住ctrl 点下一个) 要求新建幻灯片中不包含原素材中的任何格式&…...
甘特图开发代码(测试版)
场景:要实现的功能就是单行数据能左右拖动。 流程五个:ABCDE。(对应:Charter开发、概念和计划、初样开发、正样开发、验证) 1、A有开始时间,结束时间。B的开始时间必须是A的结束时间(相等或者…...
鸿蒙与DeepSeek深度整合:构建下一代智能操作系统生态
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/north 目录 技术融合背景与价值鸿蒙分布式架构解析DeepSeek技术体系剖析核心整合架构设计智能调度系统实现…...
Docker Desktop常见问题记录
1.docker pull报错,无法连接https://registry-1.docker.io/v2/ 报错信息如下: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection(Client.Timeout exceeded …...
Qt 的 Lambda 捕获局部变量导致 UI 更新异常的分析与解决
1. 问题描述 在 Qt 开发中,我们通常会使用 QTimer 进行周期性 UI 更新。例如,下面的代码用于在检测游戏窗口时,在 UI 界面上显示动态变化的“正在检测游戏窗口...”的文本,每 300 毫秒更新一次。 void MainWindow::detectAndPopulateGameList() {ui->game_record_stac…...
RAGflow采用docker-compose-continuous方式pull,把服务器充满了
采用docker-compose-continuous在后台下载,导致服务器被充满。 原因分析: 如果网络不稳定,可能导致下载任务异常中断,而 systemd 服务会不断重启并重新下载,从而占用大量空间。如果网络问题无法解决,可以…...
【第12节】C++设计模式(结构型模式)-Proxy(代理)模式
一、问题背景 使用 Proxy 模式优化对象访问 在某些情况下,直接访问对象可能会导致性能问题或安全性问题。Proxy 模式(代理模式)通过引入一个代理对象来控制对原始对象的访问,从而解决这些问题。以下是几种典型的应用场景…...
【C++】vector(上):vector的常用接口介绍
文章目录 前言一、vector的介绍二、vector的常用接口介绍1.vector类对象的常见构造2.vector iterator 的使用3.vector类对象的容量操作3.1 size、capacity 和 empty的使用3.2 reserve的使用3.3 resize的使用 4.vector类对象的访问(包含data:返回底层数组…...
【详细讲解在STM32的UART通信中使用DMA机制】
详细讲解在STM32的UART通信中使用DMA机制 目录 详细讲解在STM32的UART通信中使用DMA机制一、DMA机制概述二、DMA在UART中的作用三、DMA的配置步骤四、UART初始化与DMA结合五、DMA传输的中断处理六、DMA与中断的结合使用七、注意事项与常见问题八、代码示例九、总结 一、DMA机制…...
极狐GitLab 17.9 正式发布,40+ DevSecOps 重点功能解读【三】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
快速生成viso流程图图片形式
我们在写详细设计文档的过程中总会不可避免的涉及到时序图或者流程图的绘制,viso这个软件大部分技术人员都会使用,但是想要画的好看,画的科学还是比较难的,现在我总结一套比较好的方法可以生成好看科学的viso图(图片格式)。主要思…...
设备管理系统功能与.NET+VUE(IVIEW)技术实现
在现代工业和商业环境中,设备管理系统(Equipment Management System,简称EMS)是确保设备高效运行和维护的关键工具。本文采用多租户设计的设备管理系统,基于.NET后端和VUE前端(使用IVIEW UI框架)…...
《深度学习实战》第11集:AI大模型压缩与加速
深度学习实战 | 第11集:AI大模型压缩与加速 在深度学习领域,随着模型规模的不断增大,模型的推理速度和部署效率成为实际应用中的关键挑战。本篇博客将带你深入了解模型压缩与加速的核心技术,并通过一个实战项目展示如何使用知识蒸…...
【大模型安全】大模型的技术风险
【大模型安全】大模型的技术风险 1.DDoS攻击2.常见的传统网络攻击方式3.恶意意图的识别4.AI生成虚假信息传播5.利用AI进行黑客攻击6.模型对抗攻击7.后门攻击8.Prompt攻击9.数据投毒攻击10.模型窃取攻击11.数据窃取攻击 1.DDoS攻击 2023年11月9日凌晨,OpenAI在官网公…...
git命令学习记录
1. git reset 参数说明 git reset 是用来回退版本的,它可以添加三个参数,常用的使用格式是这样的:git reset [--hard | --soft | --mixed] 版本号 一般使用git修改文件并提交需要三步,第一步在文本编辑器中编辑文件,也…...
Gartner:数据安全平台DSP提升数据流转及使用安全
2025 年 1 月 7 日,Gartner 发布“China Context:Market Guide for Data Security Platforms”(《数据安全平台市场指南——中国篇》,以下简称指南),报告主要聚焦中国数据安全平台(Data Securit…...
结构型模式---享元模式
概念 享元模式是一种结构型设计模式,他摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。享元模式将原始类中的数据分为内在状态数据和外在状态数据。 内在状态:就…...
一学就会:A*算法详细介绍(Python)
📢本篇文章是博主人工智能学习以及算法研究时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在&am…...
【Elasticsearch】Elasticsearch 中使用 HDFS 存储快照
在 Elasticsearch 中使用 HDFS 存储快照的步骤如下: 1.安装 HDFS 插件 要使用 HDFS 存储 Elasticsearch 的索引快照,需要在 Elasticsearch 集群的所有节点上安装 HDFS 插件。 • 在线安装:适用于网络环境良好的场景,执行以下命…...
【每日十题系列】前端面试高频题目
以下是作为前端面试官常用的10道手撕代码题目,涵盖JavaScript核心、CSS、算法及框架原理,结合高频考点与实际开发场景设计: 1. 手写防抖(debounce)与节流(throttle) 要求:实现防抖函…...
Kafka 消息 0 丢失的最佳实践
文章目录 Kafka 消息 0 丢失的最佳实践生产者端的最佳实践使用带有回调的 producer.send(msg, callback) 方法设置 acks all设置 retries 为一个较大的值启用幂等性与事务(Kafka 0.11)正确关闭生产者与 flush() 方法 Broker 端的最佳实践设置 unclean.l…...
学网络安全报班可靠吗?
在当今社会,网络安全已经成为我们工作和生活中不可忽视的重要部分,而且市场上各大企业对网络安全人才的需求量非常之大,因此网络安全培训班应运而生,那么学网络安全报培训班靠谱吗?这是很多小伙伴都关心的问题,我们来…...
LeetCode 1745.分割回文串 IV:动态规划(用III或II能直接秒)
【LetMeFly】1745.分割回文串 IV:动态规划(用III或II能直接秒) 力扣题目链接:https://leetcode.cn/problems/palindrome-partitioning-iv/ 给你一个字符串 s ,如果可以将它分割成三个 非空 回文子字符串,…...
4 Redis4 List命令类型讲解
Redis 列表(List)命令详解 1. Redis 列表(List)简介 Redis 列表(List)是一个简单的字符串列表,按照插入顺序排序。它可以用作 栈(Stack) 和 队列(Queue&…...
鬼泣:项目前置设置杂项
能帮到你的话,就给个赞吧 😘 文章目录 插件niagara ui render:在 UI 中渲染 Niagara 特效skeletal editor:编辑骨骼,调整骨骼动画motion warping:根据目标自动调整角色动画。animation warping:…...
MyBatis-Plus 条件构造器的使用(左匹配查询)
在上一篇文章中,我们已经介绍了 MyBatis-Plus 条件构造器,包括 QueryWrapper 和 UpdateWrapper 的基本使用方法、常见查询条件(如等于、不等于、大于、小于)以及如何使用 Lambda 表达式来构建动态查询和更新条件。 在本文中&…...
#define GBB_DEPRECATED_MSG(msg) __declspec(deprecated(msg))
这个宏 #define GBB_DEPRECATED_MSG(msg) __declspec(deprecated(msg)) 是用来在 C++ 中标记某些函数、变量或者代码元素为已弃用(deprecated)的,并附带一个自定义的弃用消息。 具体解释: __declspec(deprecated(msg)): __declspec 是 Microsoft Visual C++ (MSVC) 的扩展…...
Vue输入框获取焦点
1. 元素未渲染完成 如果你在组件挂载或数据更新后立即调用 focus(),可能元素还未渲染到 DOM 中,导致 focus() 失效。 解决方法:确保在元素渲染完成后再调用 focus()。可以使用 nextTick 确保 DOM 更新完成。 2. ref 未正确绑定 确保 ref 正确…...
辛格迪客户案例 | 深圳善康医药科技GMP培训管理(TMS)项目
01 善康医药:创新药领域的探索者 深圳善康医药科技股份有限公司自2017年创立以来,便扎根于创新药研发领域,专注于成瘾治疗药物的研究、生产与销售。公司坐落于深圳,凭借自身独特的技术优势与研发实力,在行业内逐渐崭露…...
迷你世界脚本出生点接口:Spawnport
出生点接口:Spawnport 彼得兔 更新时间: 2023-04-26 10:19:56 具体函数名及描述如下: 序号 函数名 函数描述 1 getSpawnPoint(...) 获取默认出生点 2 setSpawnPoint(...) 设置出生点位置 3 getChunkValidSpawnPos(...) 获取区块有效刷新点…...
Android车机DIY开发之软件篇(二十)立创泰山派android编译
准备工作 sudo apt-get update sudo apt-get install git -y sudo apt install repo -ysudo apt-get install python2.7sudo apt-get install python3sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 sudo update-alternatives --install /u…...
MDM 如何彻底改变医疗设备的远程管理
在现代医疗行业迅速发展的格局中,医院和诊所越来越依赖诸如医疗平板和移动工作站等移动设备。这些设备在提高工作效率和提供卓越的患者护理方面发挥着关键作用。然而,随着它们的广泛使用,也带来了一系列挑战,例如在不同地点确保数…...
Libgdx游戏开发系列教程(6)——游戏暂停
目录 最初方案1 优化方案2 - 事件拦截器监听按键 优化方案3 - 暂停状态重绘 优化方案4 优化方案5 补充 - 监听android手机的返回键 暂停也是一个游戏的必要功能了,本文研究了Libgdx实现游戏暂停 例子以桌面端游戏实现讲解为主,至于移动端,可能之后会进行补充... 本文最…...
车载测试:智能座舱测试中多屏联动与语音交互的挑战
智能座舱作为汽车智能化发展的核心,集成了多屏联动和语音交互功能,为驾驶员和乘客提供更便捷的体验。然而,这些功能的测试面临诸多挑战,包括多屏同步性、噪声干扰和复杂场景的处理。本文将详细分析这些挑战,探讨测试方…...
【踩坑随笔】`npm list axios echarts`查看npm依赖包报错
npm list axios echarts查看npm依赖包出现以下报错,原因就是包的版本匹配问题,按照提示降axios版本或者自己升找合适的got版本,我这里是选择了降版本。本文记录仅做解决思路参考不一定适配大家的实际情况。 weed-detection-system1.0.0 E:\P…...