这个时代打破了传统图形渲染的桎梏,确立了基于 Warp 执行的 SIMT(单指令多线程)基石。
-
Tesla 架构 (2006) - “CUDA 的诞生”
核心特点:彻底废弃了传统的“顶点着色器”和“像素着色器”的物理隔离,首次引入了统一计算架构(Unified Shader Architecture)。所有的计算单元都可以被灵活调配。这是 CUDA 编程模型能够诞生的物理绝对前提。
SM 结构:极其原始。每个 SM 只有 8 个计算核心(当时叫 SP, Stream Processor)。首次向开发者暴露了 16KB 的 Shared Memory,让线程之间第一次有了交换数据的片上金库,但完全没有硬件 L1 Cache。调度极其基础,且初代完全不支持双精度(FP64)。
-
Fermi 架构 (2010) - “真正的现代通用计算起点”
核心特点:第一次为 GPU 引入了真正的 L1/L2 缓存层级,并支持 ECC 内存,确立了统一的内存寻址空间(指针终于可以像 C++ 一样满天飞了)。
SM 结构:CUDA Core 数量增加到 32 个。引入了 Dual Warp Scheduler (双 Warp 调度器),一个 SM 同时挑选两个 Warp 发射指令。Shared Memory 和 L1 Cache 物理上合并,允许开发者手动配置比例(如 48KB/16KB 或 16KB/48KB)。
-
Kepler 架构 (2012) - “疯狂堆料与能效觉醒”
核心特点:追求高能效,砍掉了 Fermi 时代为了超频设计的复杂硬件逻辑。引入了动态并行(Dynamic Parallelism),允许 GPU 内核自己启动新内核。并且引入了 Hyper-Q。
SM 结构突变 (SMX):SM 膨胀成了极其庞大的 SMX,CUDA Core 数量直接飙升到 192 个!每个 SM 配备 4 个 Warp 调度器。
历史教训:Kepler 证明了“单体巨大 SM”是失败的。192 个 Core 共享 4 个调度器,导致严重的指令分发瓶颈,对代码的指令级并行度(ILP)要求极高,极难跑满满载算力。
从 Maxwell 开始,NVIDIA 意识到了大 SM 的调度噩梦,确立了“SM 内部划分子区 (Sub-Partition, 即 SMSP)”的现代微架构物理布局。
-
Maxwell 架构 (2014) - “现代 SM 结构的奠基者”
核心特点:极高的每瓦性能。彻底重构了控制逻辑和数据通路。
SM 结构突变 (SMM):废弃了 Kepler 庞大的 SMX。一个 SM (SMM) 包含 128 个 Core,但物理上被严格划分为 4 个 SMSP (处理块)。每个 SMSP 有自己独立的 1 个 Warp 调度器、指令缓存、寄存器堆和 32 个 Core。
意义:这就是你在分析代码时看到的那个“1 个 SMSP 管理 12 个 Warp”的底层逻辑起点。
-
Pascal 架构 (2016) - “互连与显存的飞跃”
核心特点:首次引入 NVLink 高速互连,首次使用 HBM2 显存。原生支持 FP16 半精度(AI 计算的试水)。
SM 结构:在高端计算卡(GP100)上,SM 进一步瘦身,每个 SM 只有 64 个 FP32 Core(分为 2 个 SMSP),从而获得了极高的调度效率和人均寄存器带宽。
这个阶段,GPU 越来越不像是单纯的 SIMT 处理器,而是变成了一个由 Tensor Core 和异步内存引擎主导的“缝合巨兽”。
-
Volta 架构 (2017) - “革命性的深水区”
核心特点:专为深度学习打造,标志着现代 AI 算力的开端。
SM 结构突变:
- Tensor Core 的诞生:SM 内部加入了专门做 4 x 4 矩阵乘加的张量核心。
- L1TEX 统一架构:L1 Data Cache 和 Texture Cache 彻底合并,带宽直接翻倍。
- 独立线程调度 (ITS):废弃了以 Warp 为单位的单一 PC 指针。每个线程拥有独立的 PC 和调用栈,这让复杂的条件分支和线程级死锁解绑成为了可能。
-
Turing 架构 (2018) - “并发流水线的完善”
核心特点:引入 RT Core (光线追踪)。
SM 结构变化:最核心的改变是 INT32 和 FP32 数据通路物理分离。在 Turing 之前,Warp 执行整数算址(如 IMAD)运算时,浮点 ALU 只能闲置。Turing 允许浮点计算和整数计算在同一个周期内并发执行。
-
Ampere 架构 (2020) - “极致的异步搬运”
核心特点:稀疏张量加速(Sparse Tensor Cores)、L2 缓存驻留控制。
SM 结构变化 (如 GA102):
- FP32 吞吐翻倍:将 INT32 的数据通路修改为“可兼职做 FP32”。标称 128 个 FP32 Core 的 SM,其实有一半是浮点/整数动态复用的。
- 异步拷贝 (cp.async):引入 LDGSTS 指令,LD/ST 单元可以直接把 DRAM 数据写入 Shared Memory,彻底绕开寄存器,将 Warp 调度器从繁重的搬砖任务中解放出来。
-
Hopper / Blackwell 架构 (2022/2024) - “彻底的异步分布式系统”
核心特点:Transformer Engine (动态 FP8/FP4),更恐怖的 NVLink 带宽。
SM 结构突变:
- TMA (张量内存加速器):SM 甚至不需要通过 Warp 发指令来搬内存了。TMA 是一个独立的硬件 DMA 引擎,只需告诉它多维张量的坐标,它自己在后台去 DRAM 里捞数据并写进 Shared Memory,完全无视 MSHR 和 Scoreboard 的指令级束缚。
- 线程块集群 (Thread Block Clusters):允许多个 SM 共享彼此的 Shared Memory,打破了 Shared Memory 必须呆在单个 SM 内部的物理高墙。
-
A40
- PCIe Gen4 x16
- GDDR6 48 GiB(包括 ECC 使用的空间)
- GA102 白皮书
- 官方链接 https://www.nvidia.com/en-us/data-center/a40/
- Data Sheet
- Product Brief