GPU架构演进:从图形专用到AI通用的技术哲学

一场横跨二十年的架构革命,如何重塑了计算的边界


一、序章:理解演进的三条主线

在深入技术细节之前,我们需要把握GPU发展的三条核心主线。这三条线索相互交织,共同塑造了今天的GPU生态:

1.1 范式转变:从专用到通用

最根本的问题:GPU是如何从"只能画三角形"的专用硬件,进化成"什么都能算"的通用平台?

这不是简单的"加功能",而是一场架构哲学的革命。固定功能管线被可编程着色器取代,图形专用单元被统一计算核心吞并,封闭的硬件接口演变为开放的编程平台。每一步都在回答同一个问题:如何在保持效率的同时获得灵活性?

1.2 内存墙:永恒的瓶颈

计算的速度总是快于数据的移动速度。这个矛盾贯穿GPU发展史:

  • 2008年Tesla时代:片外GDDR带宽成为天花板
  • 2010年Fermi时代:引入缓存层次缓解压力
  • 2016年Pascal时代:HBM2堆叠内存突破带宽墙
  • 2020年至今:NVLink构建GPU间直连网络

每一代架构都在与内存墙搏斗,而解决方案从未停止演进。

1.3 市场分化:游戏与AI的分岔路

2017年Volta引入Tensor Core标志着转折点:GPU不再追求"一个架构通吃",而是开始针对工作负载专业化

  • 游戏路线:Ada Lovelace强化光追、DLSS等图形特性
  • AI路线:Hopper专注Transformer加速、稀疏计算
  • 底层逻辑:不同市场对"什么是效率"有完全不同的定义

这三条主线不是独立的,而是相互纠缠的:通用化创造了新市场,内存瓶颈推动架构创新,市场分化又反向塑造技术路线。理解这些深层逻辑,才能真正看懂每一代架构的设计抉择。


二、起点:统一架构的诞生(2008-2010)

2.1 Tesla:一切开始的地方

> 问题的源头:固定管线的困境

2008年之前,GPU是这样工作的:

顶点处理器(固定) → 几何处理器(固定) → 像素处理器(固定)
     ↓                    ↓                    ↓
  只能变换顶点        只能处理几何        只能着色像素

这种设计有致命缺陷:资源利用率极低。当游戏场景复杂时,几何处理器满负荷而像素处理器闲置;当特效密集时,情况正好相反。硬件资源被浪费,却无法调配。

> Tesla的突破:统一着色器架构

核心理念:所有处理单元都是相同的可编程核心,可以执行顶点、几何、像素任意类型的任务。

         调度器
           ↓
    统一计算核心阵列
    [核心][核心][核心]...
      ↓      ↓      ↓
   可以是顶点/几何/像素/通用计算

技术实现的关键

  • 标量处理器设计:每个CUDA核心是独立的标量ALU
  • SIMT执行模型:32个线程组成warp,以lockstep方式执行
  • 硬件线程调度器:在数百个线程间快速切换,隐藏延迟

这个设计看似简单,实则深刻:放弃专用性换取灵活性,用大量并行性换取单核效率。这是GPU走向通用计算的奠基石。

2.2 Fermi:走向专业计算

> 突破点:ECC与双精度

Tesla证明了统一架构的可行性,但要真正进入HPC领域,还差两个关键能力:

1. ECC内存保护

  • 科学计算不能容忍位翻转错误
  • Fermi引入硬件ECC,每64位数据用8位校验
  • 代价:有效带宽损失12.5%,但可靠性提升

2. 双精度浮点性能

  • Tesla的FP64性能仅为FP32的1/8
  • Fermi将比例提升到1/2,真正满足科学计算需求
  • 物理实现:每个SM包含16个FP64单元

> 缓存革命:引入存储层次

更深刻的改变是缓存系统的引入

寄存器(每线程)
    ↓
L1 Cache(每SM, 可配置16KB/48KB)
    ↓
L2 Cache(全局共享, 768KB)
    ↓
GDDR5 全局内存

为什么这很重要?

  • GPU的并行性依赖高延迟隐藏能力
  • 缓存减少对全局内存的依赖,降低延迟
  • 但引入缓存也带来一致性开销和复杂度

这是GPU第一次真正借鉴CPU的存储层次思想,标志着从"纯吞吐量机器"向"吞吐量+延迟平衡"的转变。


三、优化时代:能效的觉醒(2012-2014)

3.1 Kepler:性能功耗比的突破

> 时代背景:功耗墙降临

进入28nm时代,一个残酷的现实显现:晶体管继续缩小,但功耗密度不再显著改善。继续堆核心数量会让芯片过热。

Kepler的设计哲学转变:不再追求绝对性能,而是优化每瓦性能

> SMX:重构的流多处理器

相比Fermi的16组CUDA核心,Kepler的SMX有192个CUDA核心但设计更简化:

关键改变

  • 单指令调度器驱动多个执行单元(更高效)
  • 简化的控制逻辑(更低功耗)
  • 更大的寄存器文件(支持更多并发线程)

核心思想:用更多的并行性换取单个执行单元的简化。这是GPU架构的一贯思路:宁可1000个简单核心,不要100个复杂核心

> 动态并行:编程模型的扩展

Kepler引入的Dynamic Parallelism允许GPU内核直接启动子内核,无需返回CPU。

意义

  • 减少CPU-GPU通信开销
  • 支持递归算法(树遍历、图搜索等)
  • 让GPU更像独立计算设备而非协处理器

这标志着GPU从"被动的加速器"向"主动的计算节点"演进。

3.2 Maxwell:能效革命

> 设计哲学:效率第一

Maxwell时代,NVIDIA面临移动市场的挑战:如何在15W功耗预算内提供可用的游戏性能?

解决方案:彻底重构SM设计,引入128核心分块架构

SMM (Maxwell的SM)
  ↓
4个Processing Block(每个32核心)
  ↓
每个Block有独立的:
- 指令缓存
- warp调度器  
- 寄存器文件

为什么这样更高效?

  • 更小的调度单元减少控制逻辑复杂度
  • 局部化的寄存器访问降低功耗
  • 更细粒度的时钟门控(闲置单元完全断电)

结果:相比Kepler,Maxwell在相同性能下功耗降低约40%。这是GPU历史上最成功的能效优化。

> 深层启示:架构的"呼吸"

Maxwell教会我们:效率不仅来自工艺,更来自架构的精细化

通过将大块SM分解为多个小Processing Block,架构获得了"呼吸"的能力:

  • 轻载时关闭大部分单元
  • 重载时全部激活
  • 动态适应工作负载的波动

这种思想后来被Intel的大小核、Apple的CPU设计广泛采用。


四、技术飞跃:内存与互连(2016)

4.1 Pascal:突破内存墙

> HBM2:立体堆叠的革命

2016年,GPU遇到一个严重瓶颈:芯片的计算能力增长远快于内存带宽

传统GDDR内存的问题:

  • 带宽受限于PCB走线长度和信号完整性
  • 功耗随频率平方增长
  • 物理上无法继续提升

HBM2的突破

     GPU Die
        ↓
    硅中介层(Interposer)
        ↓
  [HBM][HBM][HBM][HBM]
   堆栈 堆栈 堆栈 堆栈

技术优势

  • 通过硅通孔(TSV)实现超短互连距离
  • 带宽提升到720GB/s(GP100),是GDDR5的3倍
  • 功耗显著降低(更低电压、更短走线)

代价

  • 制造复杂度和成本大幅提升
  • 良率挑战(整个堆栈中任何一层有缺陷都报废)
  • 仅用于高端产品线

> NVLink:GPU间的直接对话

另一个瓶颈:多GPU系统受制于PCIe带宽

NVLink的设计目标:让GPU之间像内存访问一样直接通信

技术特性

  • 带宽160GB/s(单向),是PCIe 3.0的5倍
  • 支持缓存一致性协议
  • 可以直接访问对方的显存

深层意义:这不是简单的"更快的连接",而是重新定义了多GPU系统的编程模型。开发者可以把多个GPU当作一个大GPU来用。

4.2 统一内存:编程的简化

Pascal引入的Unified Memory允许CPU和GPU共享虚拟地址空间:

传统模型:
CPU内存 ←→ 显式拷贝 ←→ GPU内存
(程序员手动管理)

统一内存:
  共享虚拟地址空间
       ↓
  硬件自动迁移数据
  (页面错误触发)

价值

  • 降低编程复杂度(不需要显式内存管理)
  • 支持超大数据集(超过显存容量)
  • 但引入页面迁移开销

这是易用性与性能的权衡:对性能敏感的应用仍会手动管理内存,但大部分应用受益于简化的编程模型。


五、AI转折:专用硬件的崛起(2017-2020)

5.1 Volta:深度学习的专用武器

> 时代背景:深度学习的爆发

2017年,一个现实变得清晰:深度学习已成为GPU最重要的工作负载,而传统FP32计算对此并非最优。

深度学习的特殊性

  • 可以容忍较低精度(FP16甚至INT8)
  • 核心操作是矩阵乘法(占90%计算量)
  • 对吞吐量极度敏感,对单次计算延迟不敏感

> Tensor Core:混合精度矩阵引擎

Volta引入Tensor Core,一种专门用于矩阵乘累加的硬件单元:

计算方式

D = A × B + C
其中:
- A, B 是FP16矩阵(输入)
- C, D 是FP32矩阵(累加器和输出)
- 单个指令完成4×4×4的矩阵乘法

性能对比

  • 一个Tensor Core在一个时钟周期内完成64次FP16乘加
  • 相当于64个传统CUDA核心的工作
  • GV100有640个Tensor Core = 相当于40,960个CUDA核心的矩阵计算能力

深层意义:这不是"加速",而是改变了计算的颗粒度。从标量运算到矩阵运算,抽象层次提升,效率指数级增长。

> 独立线程调度:灵活性回归

相比之前的"warp中所有线程lockstep执行",Volta引入独立线程调度

改进

  • 每个线程有独立的程序计数器
  • 支持更细粒度的分支和同步
  • 允许warp内不同执行路径

权衡

  • 提升编程灵活性
  • 但增加硬件复杂度和面积
  • 对性能的影响取决于算法特性

5.2 Turing:图形与AI的融合

> RT Core:实时光追的梦想

2018年,Turing做了一件被认为不可能的事:消费级GPU实时光线追踪

技术实现

RT Core的两个核心功能:
1. BVH遍历加速
   - 硬件加速边界体积层次结构遍历
   - 相比软件实现快10倍
   
2. 光线-三角形相交测试  
   - 硬件加速几何求交
   - 单周期完成

为什么这改变了游戏?

  • 传统光栅化:计算"从相机看到什么"
  • 光线追踪:计算"光如何传播",物理正确
  • RT Core让光追从"离线渲染"进入"实时游戏"

> 第二代Tensor Core:推理加速

Turing的Tensor Core增加INT8和INT4支持

意义

  • 训练用FP16,推理可以用INT8(4倍效率提升)
  • 推动AI从"数据中心"走向"边缘设备"
  • 为实时AI应用铺平道路(DLSS就是典型应用)

DLSS的本质:用低分辨率渲染 + AI超分辨率,换取性能提升。这是硬件加速AI与图形渲染的完美结合

5.3 Ampere:规模化的AI

> 第三代Tensor Core:稀疏性革命

Ampere引入结构化稀疏性支持:

核心思想:深度学习模型中大量权重接近0,可以被剪枝。

硬件支持

  • 要求2:4稀疏性(每4个元素中2个为0)
  • 硬件自动跳过0值计算
  • 性能提升2倍(理论上)

为什么是2:4而非随机稀疏?

  • 随机稀疏的索引开销巨大
  • 2:4结构化稀疏可以高效硬件实现
  • 研究表明2:4稀疏对精度影响很小

BF16的引入

  • Brain Float 16:1符号位+8指数位+7尾数位
  • 相比FP16,指数范围与FP32相同(但精度更低)
  • 更适合深度学习(对数值范围敏感,对尾数精度不敏感)

> MIG:GPU的虚拟化

Multi-Instance GPU允许将一个物理GPU分割为最多7个独立实例:

技术实现

  • 硬件级资源隔离(SM、内存、缓存)
  • 每个实例有独立的故障域
  • 类似CPU的虚拟化技术,但在GPU上实现

应用场景

  • 云服务商可以将一个A100分割给多个用户
  • 提升数据中心的资源利用率
  • 满足小型推理任务的需求

深层意义:GPU从"单租户设备"向"多租户资源"演进,这是云原生化的关键


六、分化时代:专业化的深入(2022-2024)

6.1 双架构策略:Ada与Hopper

> 为什么需要两套架构?

到2022年,一个事实变得清晰:游戏和AI对"好的GPU"的定义完全不同

游戏的需求

  • 光栅化+光追混合渲染
  • 实时性(60fps,延迟<16ms)
  • 图形专用单元(ROP、纹理单元)
  • 功耗敏感(消费级TDP 300-450W)

AI训练的需求

  • 大规模矩阵运算
  • 高吞吐量(延迟不敏感)
  • 巨大的内存带宽
  • 功耗可达700W(数据中心环境)

NVIDIA的选择:让架构分岔,各自优化。

6.2 Ada Lovelace:游戏的极致

> 第三代RT Core:光追性能倍增

两个关键创新

  1. 不透明度微映射(Opacity Micromaps)

    • 预计算几何体的透明度信息
    • 避免重复的光线-几何求交测试
    • 对树叶、铁丝网等半透明物体加速显著
  2. 位移微映射(Displacement Micromaps)

    • 直接在光线求交阶段计算几何细节
    • 无需生成实际几何体
    • 大幅减少内存占用

> DLSS 3:帧生成技术

突破点:不仅放大分辨率,还能生成中间帧

技术原理

原始: 帧1 → 帧2 (30fps)
         ↓
DLSS3: 帧1 → AI生成帧1.5 → 帧2 (60fps)

为什么这能work?

  • Optical Flow技术捕捉运动矢量
  • Tensor Core实时推理
  • 在游戏循环中插入帧

争议:生成的帧不响应玩家输入,是否算"真正的帧率提升"?

6.3 Hopper:AI的巅峰

> Transformer引擎:软硬件深度协同

问题:Transformer模型的注意力机制计算复杂度是O(n²),随序列长度平方增长。

Hopper的方案

  1. FP8精度支持

    • E4M3和E5M2两种格式
    • 相比FP16,吞吐量提升2倍
    • 但需要仔细的量化策略
  2. 软件协同

    • 自动在FP8和FP16间切换
    • 敏感层用高精度,其余用低精度
    • 动态量化scale调整

本质:硬件提供能力,软件决策策略,两者深度耦合。

> 第四代Tensor Core:稀疏性2.0

相比Ampere的2:4稀疏性,Hopper进一步:

  • 支持更灵活的稀疏模式
  • 硬件自动检测稀疏度
  • 对不规则稀疏也有加速(虽然不如结构化)

配合DPX指令

  • 动态规划加速
  • 用于序列比对等算法
  • 这是GPU走向通用计算的又一步

七、现在与未来:Blackwell及之后(2024-2026)

7.1 Blackwell:多芯片的突破

> 为什么需要MCM(Multi-Chip Module)?

摩尔定律的终结

  • 先进工艺成本指数级增长
  • 良率随芯片面积下降
  • 单片SoC的极限约800mm²

解决方案:将一个大芯片拆成多个小芯片,通过高速互连组合。

> Blackwell的技术实现

两个GPU Die通过NVLink-C2C互连

   GPU Die 0      NVLink-C2C     GPU Die 1
  [SM][SM][SM] ←→ 10TB/s ←→ [SM][SM][SM]
       ↓                           ↓
    HBM3e                        HBM3e

关键技术挑战

  1. 缓存一致性

    • 两个Die的L2如何保持一致?
    • 延迟和带宽的权衡
  2. 负载均衡

    • 如何让两个Die的利用率接近?
    • 编程模型的透明性
  3. 功耗管理

    • 总功耗可达1200W
    • 如何散热和供电?

> FP4精度:极限量化

Blackwell支持4位浮点(1符号+2指数+1尾数):

意义

  • 相比FP8,吞吐量再提升2倍
  • 专为大模型推理设计
  • 对训练不适用(精度不足)

技术难点

  • 极端量化的数值稳定性
  • 需要非常精细的校准
  • 软件栈的成熟度

7.2 长期展望:架构的边界

> 计算范式的转变

从Tesla到Blackwell,我们见证了三次范式转变:

  1. 2008-2016:从图形到通用计算(CUDA革命)
  2. 2017-2022:从通用到专用(Tensor Core崛起)
  3. 2024+:从单片到多芯片(MCM时代)

下一次转变可能是什么?

> 物理极限的挑战

功耗墙

  • 1000W+的芯片已接近散热极限
  • 液冷成为必需,但成本高昂
  • 是否会出现"功耗破产"?

内存墙2.0

  • HBM3e带宽约5TB/s
  • 但计算能力还在增长
  • 下一步是什么?片上内存?3D堆叠计算?

互连墙

  • 数据在芯片间移动的能耗远大于计算
  • NVLink已达物理极限
  • 光互连是答案吗?

> 技术探索的方向

1. 近存计算(Processing-In-Memory)

  • 将计算单元集成进内存
  • 减少数据搬运
  • GDDR6W、HBM-PIM的探索

2. 模拟计算

  • 利用物理定律直接求解
  • 对特定问题(优化、模拟)效率极高
  • 但通用性差

3. 量子-经典混合

  • 量子计算处理特定子问题
  • GPU处理其余部分
  • 但量子计算离实用还很远

八、核心洞察:技术演进的哲学

回顾GPU二十年的演进,我们可以提炼出几个深层洞察:

8.1 效率的多面性

不存在绝对的"高效",只有针对特定工作负载的效率:

  • 游戏需要光追效率
  • AI训练需要矩阵乘法效率
  • 科学计算需要双精度效率

架构选择的本质:在多个维度的效率间权衡,而权衡由市场决定。

8.2 抽象层次的跃迁

每次重大突破都伴随抽象层次提升

  • 统一着色器:从固定功能到可编程
  • CUDA:从图形API到通用编程
  • Tensor Core:从标量到矩阵运算
  • Transformer引擎:从硬件到软硬件协同

规律:提升抽象不是为了简化,而是为了在更高层次优化

8.3 通用与专用的循环

GPU的历史是一个螺旋

专用(固定管线) 
   ↓
通用(统一架构) 
   ↓  
专用(Tensor Core)
   ↓
通用(CUDA生态) 
   ↓
专用(Transformer引擎)
   ↓
...

每次"专用化"都建立在更高层次的"通用化"基础上。不是回到起点,而是螺旋上升。

8.4 内存决定一切

从始至终,内存系统是核心瓶颈

  • 计算便宜,数据移动昂贵
  • 带宽比容量更关键
  • 层次结构比单纯速度更重要

未来的架构创新,本质上都是如何更好地组织和移动数据

8.5 生态系统的力量

CUDA的成功不仅是技术,更是生态

  • 开发者工具链的完善
  • 大量优化库(cuBLAS、cuDNN等)
  • 教育体系和社区
  • 与主流框架的深度集成

技术壁垒易复制,生态壁垒难撼动。这解释了为什么AMD、Intel难以挑战NVIDIA的AI霸主地位。


九、结语:理解演进的意义

这篇长文梳理了GPU架构的演进历程,但技术细节不是目的。真正重要的是理解"为什么是这样演进"

  1. 市场需求塑造技术路线:游戏驱动图形创新,AI驱动计算革新
  2. 物理约束推动架构创新:功耗墙、内存墙迫使设计者不断突破
  3. 工程权衡无处不在:性能、功耗、成本、易用性永远在平衡
  4. 抽象层次不断提升:从画三角形到训练千亿参数模型,本质是抽象的胜利

对于技术人员:理解这些演进逻辑,才能在面对新技术时快速抓住本质,判断哪些是真正的创新,哪些是营销包装。

对于学习者:不要被术语和参数淹没。抓住技术演进的"为什么",比记住"是什么"重要一百倍。

对于思考者:技术的历史不是线性的进步,而是螺旋式的辩证发展。每一次"专用化"都建立在"通用化"的基础上,每一次"简化"都隐藏着新的复杂性。


2025年的我们站在Blackwell时代的起点。回看2008的Tesla,再看今天的H100,计算能力提升超过1000倍。但这不是终点,而是下一个十年的起点。

GPU的故事还在继续。下一个突破在哪里?也许是量子计算的混合架构,也许是光子互连的革命,也许是我们现在完全想象不到的范式。

但无论如何,理解过去,是为了更好地面对未来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小胡说技书

感谢支持!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值