典型 CPU 架构与 GPU 架构对比:

- 上图中绿色部分是计算单元,GPU 有更多的计算核心,计算能力更强。
- 黄色部分是控制单元,CPU 中有大量的控制单元,现代 CPU 的晶体管越来越复杂,除了计算 ,还要实现乱序执行 、分支预测 、高速缓存等功能;而 GPU 中控制单元很少,GPU 专门用于并行计算。
深度学习中存在大量矩阵运算都可以并行执行,GPU 非常适合对这类高度并行性的任务进行计算加速。
NVIDIA 每隔几年都会有新的 GPU 架构,并且这些 GPU 架构都以著名物理学家的名字命名。这些更新主要是增加硬件单元的数量,组成结构基本没有变化。
1 Tesla架构(2006-2008)
- 代表芯片:G80、GT200
- 核心改进:
- 首个支持 CUDA 编程模型的 GPU 架构。
- 引入统一着色器设计(Unified Shader),支持通用计算。
- 单精度浮点(FP32)计算能力初具规模。
- 应用场景:科学计算、早期 GPGPU 应用。
2006 年英伟达提出 G80 架构,使开发者可以基于 C 语言在 GPU 上进行开发。2008 年基于 G80 架构提出 GT200,增加了流处理器核的数量,更高的精度和并行能力使 GPU 进行科学计算和高性能计算成为可能。
2 Fermi架构(2010)
- 代表芯片:GF100(Tesla M2050)
- 关键特性:
- SM(Streaming Multiprocessor)2.0:每组 SM 含 32 个 CUDA 核心,支持并发内核执行。
- ECC内存:提升计算可靠性。
- 首次支持双精度(FP64),FP64 性能为 FP32 的 1/2。
- 性能提升:相比 Tesla,FP32 性能提升 8 倍。
2010 年英伟达提出 Feimi 架构,最大可支持 16 个 SMs,每个 SM 有 32 个 CUDA Core,一共 512 个 CUDA Core,架构设计主要是以当时游戏用户的需求为主,因此整个 GPU 有多个 GPC(图形处理簇),单个 GPC 包含一个光栅引擎(Raster Engine)和 4 个 SM。
GPU 拥有 6 个 64 位内存分区,总共是 384 位内存,最多支持 6 GB GDDR5 DRAM 内存。主机接口通过 PCI-Express 连接 GPU 和 CPU。GigaThread 全局调度器将线程块分配给 SM 线程调度器。因为计算核心较多,因此将 L2 Cache 放在处理器中间位置,使得数据可以在 CUDA Core 之间快速传输。

Fermi 架构采用第三代流处理器,每个 SM 有 16 个加载/存储单元(Load/Store, LD/ST),允许为每个时钟 16 个线程计算源地址和目标地址,支持将每个地址的数据加载并存储到缓存或 DRAM 中。特殊功能单元(Special Function Unit, SFU)执行超越函数,如 sin
、cos
、导数和平方根。每个 SFU 在每个线程、每个时钟执行一条指令,一次 warp(由 32 个线程组成的线程组)要经过 8 个时钟周期。SFU 管线与调度单元解耦,允许调度单元在占用 SFU 时向其他执行单元发出命令。
双精度算法是高性能计算应用的核心,每个 SM、每个时钟可执行多达 16 个双精度融合乘加运算。
每个 SM 有两个 warp 调度器和两个指令调度单元,允许同时发出和执行两个 warp。并行计算主要在 CUDA 中进行处理,每个 CUDA 处理器都有一个完整的流水线整数算术逻辑单元(ALU)和浮点单元(FPU),可以选择 FP 32 或者 INT 8 执行计算,但是 FP Unit 和 INT Unit 的执行不是并行的。

Fermi 架构支持新的并行线程执行 PTX 2.0(Parallel Thread Execution)指令集架构。
一个 CUDA 程序被称作并行的 Kernel,线程分为三级,包含线程(Threads)、块(Blocks)和网格(Grid),每个层次结构对应硬件,Thread 可以共享局部内存(Local memory),线程块使用共享内存(Shared Memory),Grid 共享全局内存(Global Memory),具有相应的每个线程专用、每个块共享和每个应用程序全局内存空间。
3 Kepler架构(2012)
- 代表芯片:GK110(Tesla K80)、GK210
- 关键特性:
- SMX 设计:每组 SM 含 192 个 CUDA 核心,支持动态并行(Dynamic Parallelism)。
- Hyper-Q:多 CPU 核心可同时向 GPU 提交任务。
- GPU Boost:动态调整核心频率。
- 能效比:相比 Fermi 提升 3 倍。
2012 年英伟达提出 Kepler 架构,由 7.1 亿个晶体管组成的 Kepler GK110 将提供超过 1 TFlop 的双精度吞吐量,采用台积电 28 nm 制程,每瓦的性能是费米架构的 3 倍。由 15 个 SMX 单元和 6 个 64 bit 内存控制器,内存子系统提供额外的缓存功能,在每个层次结构的存储器有更大的带宽,实现更快的 DRAM I/O,同时为编程模型提供硬件支持。

开普勒架构相比上一代 Fermi 架构,SM(Streaming Multiprocessor)更名为 SMX,但是本身的概念没有改变,每个 SMX 具有四个 warp 调度器和八个指令调度单元,允许同时发出和执行四个 warp。Fermi 架构共有 32 核,Kepler 架构拥有 192 核,大大提升了 GPU 并行处理的能力。Fermi 支持最大线程数是 1536,Kepler 最大线程数达到 2048。64 个双精度(Double-Precision,DP)单元,32 特殊功能单元(SFU)和 32 个 LD/ST(load/store)单元,满足高性能计算场景的实际需求。
Kepler 架构支持动态并行(Dynnamic Parallelism),在不需要 CPU 支持的情况下自动同步,在程序执行过程中灵活动态地提供并行数量和形式。Hyper-Q 使多个 CPU 核使用单个 GPU 执行工作,提高 GPU 利用率并显着减少 CPU 空闲时间,允许 32 个同时进行的硬件管理连接,允许从多个 CUDA 流处理,多个消息传递进程中分离出单个进程。使用网格管理单元(Grid Management Unit,GMU)启用动态并行和调度控制,比如挂起或暂停网格和队列直到执行的环境准备好。
英伟达 GPU Direct 可以使单个计算机内的 GPU 或位于网络上不同服务器中的 GPU 直接交换数据,而无需转到 CPU 系统内存,RDMA 特性允许第三方设备直接访问同一系统内多个 GPU 上的内存,减少了对系统内存带宽的需求,释放 GPU DMA 引擎供其它 CUDA 任务使用。
4 Maxwell架构(2014)
- 代表芯片:GM204(GTX 980)、GM200(Titan X)
- 关键特性:
- SMM(Maxwell SM):每组 SM 分割为 4 个独立单元,提升指令调度效率。
- Voxel 全局光照:针对性优化图形渲染。
- 16nm FinFET 工艺(后期型号):功耗降低。
- 能效比:相比 Kepler 提升 2 倍。
2014 年英伟达提出 Maxwell 架构,麦克斯韦架构相比上一代架构没有太大改进,其中 SM 又使用了原来的名称,整体的核心个数变为 128 个,因为核心数不需要太多,可以通过超配线程数来提升 GPU 并行计算的能力。

SMM 使用基于象限的设计,其中每个 SMM 有四个共 32 核处理块,每个处理块都有一个专用的 warp 调度器,能够在每个时钟调度两条指令。每个 SMM 提供 8 个纹理单元,一个图形的几何处理引擎,以及专用的寄存器文件(Register File)和共享内存(Shared Memory)。单核性能是 Kepler 架构的 1.35 倍,performance/watt(性能与功耗的比率)是 Kepler 架构的两倍。
对比 Kepler 和 Maxwell 架构,Maxwell 架构拥有更大的专用共享内存,通过将共享内存与 L1 缓存分离,在每个 SMM 中提供专用的 64KB 共享内存,GM204 Maxwell 每个 SMM 的专用共享内存提高到 96KB。和 Kepler 和 Fermi 架构一样,每个线程块的最大共享内存仍然是 48KB。GM204 Maxwell 具有更大的二级缓存(L2 Cache),GK104 Kepler 的四倍,带宽受限的应用程序可以获得更大的性能优势。每个 SM 有更多活动线程块(Thread Blocks),从 16 增加到 32 有助于提高运行在小线程块上的内核使用率。可以对 32 位整数的本机共享内存进行原子操作,使线程块上的列表和栈类型数据更高效,和 Kepler 一样支持动态并行。
5 Pascal架构(2016)
- 代表芯片:GP100(Tesla P100)、GP102(GTX 1080 Ti)
- 关键特性:
- NVLink 高速互联:多 GPU 带宽提升至 80GB/s。
- 混合精度计算:支持 FP16(半精度),适合深度学习推理。
- HBM2 显存(P100):带宽达 732GB/s。
- 性能:FP16 算力达 21 TFLOPS(P100)。
2016 年英伟达提出 Pascal 架构,相比之前的架构,Pascal 帕斯卡架构在应用场景、内存带宽和制程工艺等多个方面做出了创新。将系统内存 GDDR5 换成 HBM2,能够在更高的带宽下处理更大的工作数据集,提高效率和计算吞吐量,并减少从系统内存传输的频率,而且 HBM2 原生支持数据纠错(Error correcting Code, ECC)。采用 16nm FinFET 工艺,拥有 15.3 亿个晶体管,相同功耗下算力提升提升一个数量级。同时提出第一代 NVLink,提升单机卡间通信之外扩展多机之间的带宽。支持统一内存,允许在 GPU 和 CPU 的完整虚拟地址空间之间透明迁移数据,降低了并行编程的门槛。支持计算抢占和针对 Pascal 架构优化的 AI 算法,可应用于高性能计算、深度学习和 GPU 计算密集型领域。
GP100 Pascal 由图形处理集群(GPCs)、纹理处理集群(TPCs)、流式多处理器(SMs)和内存控制器组成。一个完整的 GP100 由 6 个 GPCs、60 个 Pascal SMs、30 个 TPCs(每个都包括 2 个 SMs)和 8 个 512 位内存控制器(总共 4096 位)组成。每个 GPC 都有 10 个 SMs,每个 SM 有 64 个 CUDA 核和 4 个纹理单元,拥有 60 个 SMs,共有 3840 个单精度 CUDA Cores 和 240 个纹理单元。每个内存控制器都连接到 512 KB 的 L2 高速缓存上,每个 HBM2 DRAM 都由一对内存控制器控制,总共包含 4096 KB L2 高速缓存。

Pascal 架构在 SM 内部作了进一步精简,整体思路是 SM 内部包含的硬件单元类别减少,因为芯片制程工艺的进步,SM 数量每一代都在增加。单个 SM 只有 64 个 FP32 CUDA Cores,相比 Maxwell 的 128 核和 Kepler 的 192 核,数量少了很多,并且 64 个 CUDA Cores 分为了两个区块,每个处理块有 32 个单精度 CUDA Cores、一个指令缓冲区、一个 Warp 调度器和两个调度单元(Dispatch Unit)。分成两个区块之后,Register File 保持相同大小,每个线程可以使用更多的寄存器,单个 SM 可以并发更多的 thread/warp/block,进一步增加并行处理能力。
增加 32 个 FP64 CUDA Cores(DP Unit),FP32 CUDA Core 具备处理 FP16 的能力。此外,每个 SM 具有 32 个双精度(FP64)CUDA Cores,使得 GPU 更有效地处理双精度计算任务。与精度更高的 FP32 或 FP64 相比,存储 FP16 数据可以减少神经网络的内存使用,从而允许训练和部署更大的网络。为加速深度学习支持 FP16,与 FP32 相比可以提高 2 倍性能,同时数据传输需要的时间更少。

由于多机之间采用 InfiniBand 和 100 GB Ethernet 通信,单个机器内单 GPU 到单机 8 GPU,PCIe 带宽成为瓶颈,因此 Pascal 架构首次提出 NVLink,针对多 GPU 和 GPU-to-CPU 实现高带宽连接。NVLink 用以单机内多 GPU 内的点对点通信,带宽达到 160 GB/s,大约是 PCIe 3x16 的 5 倍,减少数据传输的延迟,避免大量数据通过 PCIe 回传到 CPU 的内存中,导致数据重复搬运,实现 GPU 整个网络的拓扑互联。在实际训练大模型的过程中,带宽会成为分布式训练系统的主要瓶颈,从而使得 NVLink 成为一项具有重要意义的创新。

6 Volta架构(2017)
- 代表芯片:GV100(Tesla V100)
- 革命性技术:
- Tensor Core:专为矩阵运算设计,支持混合精度(FP16/FP32)。
- 独立线程调度:SIMT 模型升级,支持细粒度并行。
- HBM2+ 显存:带宽提升至 900GB/s(V100)。
- 性能:深度学习训练速度比 Pascal 快 5 倍。
2017 年英伟达提出 Volta 架构,GV100 GPU 有 21.1 亿个晶体管,使用 TSMC 12 nm 工艺。伏特架构做了以下创新:
- CUDA Core 拆分,分离 FPU 和 ALU,取消 CUDA Core 整体的硬件概念,一条指令可以同时执行不同计算,同时对 CUDA 应用程序并行线程更进一步,提高了 CUDA 平台的灵活性、生产力和可移植性;
- 提出独立线程调度,改进单指令多线程 SIMT 模型架构,使得每个线程都有独立的 PC(Program Counter)和 Stack,程序中并行线程之间更细粒度的同步和协作;
- 专门为深度学习优化了 SM 架构,针对 AI 计算首次提出第一代张量核心 Tersor Core,提高深度学习计算中卷积运算进行加速;
- 对 NVLink 进行改进,提出第二代 NVLink,一个 GPU 可以连接 6 个 NVLink,而不是 Pascal 时代的 4 个,16 GB HBM2 内存子系统提供了 900GB/秒的峰值内存带宽;
- 提出 MPS 概念,在多个应用程序单独未充分利用 GPU 执行资源时,允许多个应用程序同时共享 GPU 执行资源,使得多进程服务可以更好的适配到云厂商进行多用户租赁,客户端数量从 Pascal 上的 16 个增加到 Volta 上的 48 个,支持多个单独的推理任务并发地提交给 GPU,提高 GPU 的总体利用率;
- 结合 Volta 架构新特性优化 GPU 加速库版本,如 cuDNN、cuBLAS 和 TensorRT,为深度学习推理和高性能计算(HPC)应用程序提供更高的性能。英伟达 CUDA 9.0 版本提供了新的 API 支持 Volta 特性,更简单的可编程性。英伟达 TensorRT 是一款用于高性能深度学习推理的 SDK,包含深度学习推理优化器和运行时,可为推理应用程序提供低延迟和高吞吐量。
与上一代 Pascal GP100 GPU 一样,GV100 GPU 有 6 个 GPU 处理集群(GPCs),每个 GPC 有 7 个纹理处理集群(TPCs)、14 个流式多处理器(SMs),以及内存控制器。

Volta 伏特架构 SM 结构相比前几代架构,SM 的数目明显增多,SM 被划分为四个处理块,单个 SM 中包含 4 个 Warp Schedule,4 个 Dispatch Unit,64 个 FP32 Core(416),64 个 INT32 Core(416),32 个 FP64 Core(48),8 个 Tensor Core(42),32 个 LD/ST Unit(4*8),4 个 SFU,FP32 和 INT32 两组运算单元独立出现在流水线中,每个 Cycle 都可以同时执行 FP32 和 INT32 指令,因此每个时钟周期可以执行的计算量更大。Volt 架构新增了混合精度张量核心(Tensor Core)以及高性能 L1 数据缓存和新的 SIMT 线程模型。单个 SM 通过共享内存和 L1 资源的合并,相比 GP100 64 KB 的共享内存容量,Volta 架构增加到 96KB。

新的张量核心使 Volta 架构得以训练大型神经网络,GPU 并行模式可以实现深度学习功能的通用计算,最常见卷积/矩阵乘(Conv/GEMM)操作,依旧被编码成融合乘加运算 FMA(Fused Multiply Add),硬件层面还是需要把数据按照:寄存器-ALU-寄存器-ALU-寄存器方式来回来回搬运数据,因此专门设计 Tensor Core 实现矩阵乘计算。
英伟达计算硬件模型从 SIMT 发展成为了 SIMT+DSA 的混合,每个张量核心单时钟周期内执行 64 个浮点 FMA 操作,而 SM 中的 8 个张量核心单时钟周期总共执行 512 个 FMA 操作(或 1024 个单独的浮点操作)。每个张量核心在一个 4x4 矩阵上操作,并执行计算:D=A×B+CD=A×B+C,输入 A 和 B 矩阵是 FP16,而计算结果矩阵 C 和 D 可以是 FP16 或 FP32 矩阵,极大地减少了系统内存的开销,一个时钟周期内可以执行更多的矩阵运算,使得 GPU 在能耗上更有优势。CUDA 9 C++ API 有专门的矩阵乘和存储操作,有效地使用 CUDA-C++ 程序中的张量核心,同时 cuBLAS 和 cuDNN 库利用张量核进行深度学习研究。

英伟达伏特架构的 GPU 以 Tesla V100 Powered DGX Station 的形式对外出售工作站。此时不再使用 PCIe 连接 GPU,而是将多个 GPU 直接封装在同一块主板上,第二代 NVLink 每个连接提供双向各自 25 GB/s 的带宽,并且一个 GPU 可以接 6 个 NVLink,专门用于 GPU-GPU 通信,同时允许从 CPU 直接加载/存储/原子访问到每个 GPU 的 HBM2 内存。
此外,NVSwitch1.0 技术是 Volta 架构中的一项重要创新,旨在提高 GPU 之间的通信效率和性能。NVSwitch1.0 可以支持多达 16 个 GPU 之间的通信,可以实现 GPU 之间的高速数据传输,提高系统的整体性能和效率,适用于需要大规模并行计算的场景,比如人工智能训练和科学计算等领域。

7 Turing架构(2018)
- 代表芯片:TU102(RTX 2080 Ti)、TU104(Quadro RTX 6000)
- 关键特性:
- RT Core:硬件级光线追踪加速。
- 第二代 Tensor Core:支持 INT8/INT4 量化推理。
- GDDR6 显存:带宽达 672GB/s。
- 应用场景:实时光追(游戏)、AI推理。
2018 年 Turing 图灵架构发布,采用 TSMC 12 nm 工艺,总共 18.6 亿个晶体管。

在 PC 游戏、专业图形应用程序和深度学习推理方面,效率和性能都取得了重大进步。相比上一代 Volta 架构主要更新了 Tensor Core(专门为执行张量/矩阵操作而设计的专门执行单元,深度学习计算核心)、CUDA 和 CuDNN 库的不断改进,更好地应用于深度学习推理。
RT Core(Ray Tracing Core)提供实时的光线跟踪渲染,包括具有物理上精确的投影、反射和折射,更逼真的渲染物体和环境。支持 GDDR6 内存,与 GDDR5 内存相比,拥有 14 Gbps 传输速率,实现了 20% 的的效率提升。NVLink2.0 支持 100 GB/s 双向带宽,使特定的工作负载能够有效地跨两个 GPU 进行分割并共享内存。
TU102 GPU 包括 6 个图形处理集群(GPCs)、36 个纹理处理集群(TPCs)和 72 个流式多处理器(SMs)。每个 GPC 包括一个专用光栅引擎和 6 个 TPC,每个 TPC 包括两个 SMs。每个 SM 包含 64 个 CUDA 核心、8 个张量核心、一个 256 KB 的寄存器文件、4 个纹理单元和 96 KB 的 L1/共享内存,这些内存可以根据计算或图形工作负载配置为不同的容量。总共有 4608 个 CUDA 核心、72 个 RT 核心、576 个张量核心、288 纹理单元和 12 个 32 位 GDDR6 内存控制器(总共 384 位)。

随着神经网络模型的量化部署逐渐成熟,Turing 架构中的 Tensor Core(张量核心)增加了对 INT8/INT4/Binary 的支持,加速神经网络训练和推理函数的矩阵乘法核心。
一个 TU102 GPU 包含 576 个张量核心,每个张量核心可以使用 FP16 输入在每个时钟执行多达 64 个浮点融合乘法加法(FMA)操作。SM 中 8 个张量核心在每个时钟中总共执行 512 次 FP16 的乘法和累积运算,或者在每个时钟执行 1024 次 FP 运算,新的 INT8 精度模式以两倍的速率工作,即每个时钟进行 2048 个整数运算。Tensor Core 用于加速基于 AI 的英伟达 NGX 功能,增强图形、渲染和其它类型的客户端应用程序,包括 DLSS(深度学习超级采样)、 AI 绘画、AI Super Rez(图像/视频超分辨率)和 AI Slow-Mo(视频流插帧)。
每个 SMs 分别有 64 个 FP32 核和 64 个 INT32 核,还包括 8 个混合精度的张量核(Tensor Core),每个 SM 被分为四个块,每个块包括一个新的 L0 指令缓存和一个 64 KB 的寄存器文件。四个块共享一个 96 KB L1 数据缓存/共享内存。传统的图形工作负载将 96 KB 的 L1/共享内存划分为 64 KB 的专用图形着色器 RAM 和 32 KB 的用于纹理缓存和寄存器文件溢出区域。计算工作负载可以将 96 KB 划分为 32 KB 共享内存和 64 KB L1 缓存,或者 64 KB 共享内存和 32 KB L1 缓存。

RT Core 主要用于三角形与光线求交点,并通过 BVH(Bounding Volume Hierarchy)结构加速三角形的遍历,由于布置在 block 之外,相对于普通 ALU 计算来说是异步的,包括两个部分,一部分检测碰撞盒来剔除面片,另一部分做真正的相交测试。RT Core 的使用,使 SM 在很大程度上可以用来做图形计算之外的工作。
8 Ampere架构(2020)
- 代表芯片:GA100(A100)、GA102(RTX 3090)
- 关键特性:
- 第三代 Tensor Core:支持 TF32、FP64 加速。
- MIG(Multi-Instance GPU):单 GPU 分割为 7 个独立实例。
- 结构化稀疏:利用稀疏矩阵加速计算。
- 性能:A100 的 FP16 算力达 312 TFLOPS。
2020 年 Ampere 安培架构发布,Ampere 架构主要有以下特性:
- 超过 540 亿个晶体管,使其成为 2020 年世界上最大的 7 nm 处理器(英伟达 A100);
- 提出 Tensor Core3.0,新增 TF32(TensorFloat-32)包括针对 AI 的扩展,可使 FP32 精度的 AI 性能提高 20 倍;
- 多实例 GPU(Multi-Instance GPU,MIG)将单个 A100 GPU 划分为多达 7 个独立的 GPU,为不同任务提供不同算力,为云服务器厂商提供更好的算力切分方案;
- 提出 NVLink3.0 和 NV-Switch,NV-Switch 可以将多台机器进行互联,将 GPU 高速连接的速度加倍,可在服务器中提供有效的性能扩展;
- 利用 AI 数学计算中固有的稀疏特性将性能提升一倍。以上改进使 Ampere 成为新一代数据中心和云计算 GPU 架构,可用于 AI 和高性能计算场景。

英伟达 A100 GPU 包括 8 个 GPC,每个 GPC 包含 8 个 TPC,每个 TPC 包含 2S 个 SMs/,每个 GPC 包含 16 个 SM/GPC,整个 GPU 拥有 128 个 SMs。每个 SM 有 64 个 FP32 CUDA 核心,总共 8192 FP32 CUDA 核心。Tensor Core3.0,总共 512 个。6 个 HBM2 存储栈,12 个 512 位内存控制器,内存可达到 40 GB。第三代 NVLink,GPU 和服务器双向带宽为 4.8 TB/s,GPU 之间的互联速度为 600 GB/s。A100 SM 拥有 192 KB 共享内存和 L1 数据缓存,比 V100 SM 大 1.5 倍。


A100 Tensor Core3.0 增强操作数共享并提高计算效率,引入了 TF32、BF16 和 FP64 数据类型的支持。平时训练模型的过程中使用更多的是 FP32 和 FP16,TF32 在指数位有 8 位,FP16 在指数为有 5 位,因此 FP32 的位宽比 FP16 更多,小数位决定精度,FP32 在小数位有 23 位,FP16 只有 10 位,在 AI 训练的过程中很多时候 FP16 是够用的,但是动态范围会有限制,因此提出 TF32,指数位保持和 FP32 相同,小数位和 FP16 保持相同,BF16 的指数位和 FP32、TF32 相同,但是小数位少了三位。数百个张量核并行运行,大幅提高吞吐量和计算效率。

A100 FP32 FFMA,INT8、INT4 和 Binary 分别提高了 32x、64x 和 256x,与 Volta 架构一样,自动混合精度(AMP)允许用户使用与 FP16 相结合的混合精度来进行 AI 训练,使用 AMP 之后 A100 提供了比 TF32 快 2 倍的张量核心性能。

Tensor Core 除了执行乘法和加法操作之外还可以支持稀疏化结构矩阵(Sparse Tensor),实现细粒度的结构化稀疏,支持一个 2:4 的结构化稀疏矩阵与另一个稠密矩阵直接相乘。一种常见的方法是利用稀疏矩阵的结构特点,只对非零元素进行计算,从而减少计算量。一个训练得到的稠密矩阵在推理阶段经过剪枝之后会变成一个稀疏化矩阵,然后英伟达架构对矩阵进行压缩后变成一个稠密的数据矩阵和一个 indices,索引压缩过的数据方便检索记录,最后进行矩阵乘。

A100 张量核心 GPU 可以被分为 7 个 GPU 实例并被不同任务使用,每个实例的处理器在整个内存系统中都有单独且相互隔离的路径,片上交叉端口、L2 缓存、内存控制器和 DRAM 地址总线都被唯一地分配给一个单独的实例,确保单个用户的工作负载可以在可预测的吞吐量和延迟下运行,同时具有相同的 L2 缓存分配和 DRAM 带宽,即使其他任务正在读写缓存或 DRAM 接口。用户可以将这些虚拟 GPU 实例当成真的 GPU 进行使用,为云计算厂商提供算力切分和多用户租赁服务。

9 Hopper架构(2022)
- 代表芯片:GH100(H100)
- 关键特性:
- FP8精度支持:专为 Transformer 模型优化。
- 动态编程增强:Thread Block Cluster 支持协同计算。
- HBM3 显存:带宽达 3TB/s(H100)。
- 性能:AI 训练速度较 A100 提升 6 倍。
2022 年 Hopper 架构发布,英伟达 Grace Hopper Superchip 架构将英伟达 Hopper GPU 的突破性性能与英伟达 Grace CPU 的多功能性结合在一起,在单个超级芯片中与高带宽和内存一致的英伟达 NVLink Chip-2-Chip(C2C)互连,并且支持新的英伟达 NVLink 切换系统,CPU 和 GPU、GPU 和 GPU 之间通过 NVLink 进行连接,数据的传输速率高达 900 GB/s,解决了 CPU 和 GPU 之间数据的时延问题,跨机之间通过 PCIe5 进行连接。

Grace Hopper Superchip:

Hopper 架构是第一个真正的异构加速平台,适用于高性能计算(HPC)和 AI 工作负载。英伟达 Grace CPU 和英伟达 Hopper GPU 实现英伟达 NVLink-C2C 互连,高达 900 GB/s 的总带宽的同时支持 CPU 内存寻址为 GPU 内存。NVLink4.0 连接多达 256 个英伟达 Grace Hopper 超级芯片,最高可达 150 TB 的 GPU 可寻址内存。
H100 | 参数 |
---|---|
NVIDIA Grace CPU | 72 个 Arm Neoverse V2 内核,每个内核 Armv9.0-A ISA 和 4 个 128 位 SIMD 单元 |
512 GB LPDDR5X 内存,提供高达 546 GB/s 的内存带宽 | |
117MB 的 L3 缓存,内存带宽高达 3.2 TB/s | |
64 个 PCIe Gen5 通道 | |
NVIDIA Hopper GPU | 144 个第四代 Tensor Core、Transformer Engine、DPX 和 3 倍高 FP32 的 FP64 的 SM |
96 GB HBM3 内存提供高达 3000 GB/s 的速度 | |
60 MB 二级缓存 | |
NVLink 4 和 PCIe 5 | |
NVIDIA NVLink-C2C | Grace CPU 和 Hopper GPU 之间硬件一致性互连 |
高达 900 GB/s 的总带宽、450 GB/s/dir | |
扩展 GPU 内存功能使 Hopper GPU 能够将所有 CPU 内存寻址为 GPU 内存。每个 Hopper CPU 可以在超级芯片内寻址多达 608 GB 内存 | |
NVIDIA NVLink 切换系统 | 使用 NVLink 4 连接多达 256 个 NVIDIA Grace Hopper 超级芯片 |
每个连接 NVLink 的 Hopper GPU 都可以寻址网络中所有超级芯片的所有 HBM3 和 LPDDR5X 内存,最高可达 150 TB 的 GPU 可寻址内存 |
H100 一共有 8 组 GPC、66 组 TPC、132 组 SM,总计有 16896 个 CUDA 核心、528 个 Tensor 核心、50MB 二级缓存。显存为新一代 HBM3,容量 80 GB,位宽 5120-bit,带宽高达 3 TB/s。

具体到 SM 结构,Hopper 架构 FP32 Core 和 FP64 Core 两倍于 Ampere 架构,同时采用 Tensor Core4.0 使用新的 8 位浮点精度(FP8),可为万亿参数模型训练提供比 FP16 高 6 倍的性能。FP8 用于 Transformer 引擎,能够应用 FP8 和 FP16 的混合精度模式,大幅加速 Transformer 训练,同时兼顾准确性。FP8 还可大幅提升大型语言模型推理的速度,性能较 Ampere 提升高达 30 倍。新增 Tensor Memory Accelerator,专门针对张量进行数据传输,更好地加速大模型。

NVIDIA Quantum-2 Infiniband 是英伟达推出的一种高性能互连技术,用于数据中心和高性能计算环境中的互连网络,具有高性能、低延迟、高可靠性和支持异构计算等特点,主要用于连接计算节点、存储系统和其他关键设备,以实现高速数据传输和低延迟通信。
NVIDIA BlueField-3 DPU(Data Processing Unit)是一种数据处理单元,提供数据中心的网络、存储和安全加速功能。BlueField-3 DPU 结合了网络接口控制器(NIC)、存储控制器、加密引擎和智能加速器等功能于一体,为数据中心提供了高性能、低延迟的数据处理解决方案。

基于 Hopper 架构,英伟达推出 NVIDIA H100 高性能计算加速器,旨在为各种规模的计算工作负载提供出色的性能和效率。在单服务器规模下,结合主流服务器使用 H100 加速卡可以提供强大的计算能力,加速各种计算密集型工作负载。在多服务器规模下,组成 GPU 集群的多块 H100 加速卡可以构建高性能计算集群,支持分布式计算和并行计算,提高整体计算效率。而在超级计算规模下,大量 H100 加速卡组成的超级计算集群可以处理极端规模的计算任务,支持复杂的科学计算和研究。
从单服务器到多服务器再到超级计算规模(Mainstream Servers to DGX to DGX SuperPOD),NVIDIA H100 在不同层次和规模下展现出色的计算性能和效率,满足各种计算需求和业务目标。
10 Blackwell架构(2024)
- 代表芯片:GB100
- 关键特性:
- Tensor Core5.0
- NVLink5.0, 为每个 GPU 提供 1.8TB/s 双向带宽,支持多达 576 个 GPU 间的无缝高速通信,适用于复杂大语言模型
- 第二代 Transformer 引擎,将定制的 Blackwell Tensor Core 技术与英伟达 TensorRT-LLM 和 NeMo 框架创新相结合,加速大语言模型 (LLM) 和专家混合模型 (MoE) 的推理和训练
- 支持 RAS, 增加了智能恢复能力,以识别早期可能发生的潜在故障,从而更大限度地减少停机时间
- Blackwell 架构 GPU 具有 2080 亿个晶体管,采用专门定制的台积电 4NP 工艺制造。所有 Blackwell 产品均采用双倍光刻极限尺寸的裸片,通过 10 TB/s 的片间互联技术连接成一块统一的 GPU
- 能效是 Hopper 的 25 倍
2024 年 3 月,英伟达发布 Blackwell 架构,专门用于处理数据中心规模的生成式 AI 工作流,能效是 Hopper 的 25 倍,新一代架构在以下方面做了创新:
- 新型 AI 超级芯片:Blackwell 架构 GPU 具有 2080 亿个晶体管,采用专门定制的台积电 4NP 工艺制造。所有 Blackwell 产品均采用双倍光刻极限尺寸的裸片,通过 10 TB/s 的片间互联技术连接成一块统一的 GPU。
- 第二代 Transformer 引擎:将定制的 Blackwell Tensor Core 技术与英伟达 TensorRT-LLM 和 NeMo 框架创新相结合,加速大语言模型 (LLM) 和专家混合模型 (MoE) 的推理和训练。
- 第五代 NVLink:为了加速万亿参数和混合专家模型的性能,新一代 NVLink 为每个 GPU 提供 1.8TB/s 双向带宽,支持多达 576 个 GPU 间的无缝高速通信,适用于复杂大语言模型。
- RAS 引擎:Blackwell 通过专用的可靠性、可用性和可服务性 (RAS) 引擎增加了智能恢复能力,以识别早期可能发生的潜在故障,从而更大限度地减少停机时间。
- 安全 AI:内置英伟达机密计算技术,可通过基于硬件的强大安全性保护敏感数据和 AI 模型,使其免遭未经授权的访问。
- 解压缩引擎:拥有解压缩引擎以及通过 900GB/s 双向带宽的高速链路访问英伟达 Grace CPU 中大量内存的能力,可加速整个数据库查询工作流,从而在数据分析和数据科学方面实现更高性能。
英伟达 GB200 Grace Blackwell 超级芯片通过 900GB/s 超低功耗的片间互联,将两个英伟达 B200 Tensor Core GPU 与英伟达 Grace CPU 相连。8 年时间,从 Pascal 架构到 Blackwell 架构,英伟达将 AI 计算性能提升了 1000 倍!
英伟达 GB200 NVL72 集群以机架形式设计连接 36 个 GB200 超级芯片(36 个 Grace cpu 和 72 个 Blackwell GPU)。
11 总结
- 2010 年提出 Fermi 架构,开启了架构演进的进程,属于首个完整的 GPU 计算架构,里面提出的新概念一直沿用至今。
- 2016 年提出 Pascal 架构,首次提出 NVLink,双向互联带宽达到 160 GB/s 对 AI 领域产生重大影响,是具有历史性意义的里程碑架构。
- 2017 年提出 Volt 架构,首次提出张量核心(Tensor Core),专门针对神经网络矩阵卷积运算进行加速的第一代核心,同时提出 NVSwitch1.0,提高 GPU 之间的通信效率和性能。
- 2018 年提出 Turing 架构,在消费级显卡上提出 RT Core 以实现硬件光线追踪。
- 2020 年 Ampere 架构因多用户 GPU 实例在 AI 云应用厂商中广泛采用。晶体管规模巨大提升。
- 2022 年 Hopper 架构实现了 CPU 和 GPU 异构,CPU 与 GPU 实现英伟达 NVLink-C2C 互连。
- 2024 年 Blackwell 架构 GPU,英伟达将 AI 计算性能提升了 1000 倍,进一步为生成式 AI 与大模型提供算力支持。
一块 GPU 上存在多个 Streaming Multiprocessor(SM),每个 SM 上有很多个计算核心(Core)、线程调度器(Warp Scheduler)、Shared Memory(共享内存)、SFU(特殊运算单元,如sin、cos)、Register File(寄存器组)。除了每个 SM 上的Share Memory,所有 SM 会共享 Global Memory。
Flynn将计算设备分为四类:
- SISD:单条指令操作一条数据,简单流水线
- MISD:多条指令操作一条数据,很少
- MIMD:多条指令操作多条数据,例如 VLIW
- SIMD:单条指令操作多条数据, 例如 Vector Processor,GPU
GPU 是 SIMD 中的一种,它一条指令可以操作多条数据。
GPU 采用的是一种 SIMT(Single-Instruction, Multiple-Thread)的架构,也就是一条指令可以执行多个线程。在程序运行时,GPU 会同时执行大量相同指令的线程。而这些线程首先会通过一个调度器,调度到闲置的 SM 上,再由 SM 内部的 Warp Scheduler 调度到 Core 上进行计算。
典型 GPU 存储结构:

G80 CUDA Mode:
