一、GPU的进化之路:从3D加速到AI引擎
1.1 图形处理器的诞生
1999年,NVIDIA推出GeForce 256,首次定义了GPU(Graphics Processing Unit)概念。当时的GPU就像一台专门处理像素的印刷机:
- 固定功能管线:只能执行预设的图形操作
- 有限的可编程性:通过OpenGL/DirectX API控制
- 显存带宽:仅1.06GB/s(对比2023年的H100:3TB/s)
1.2 通用计算的革命
2006年CUDA架构的发布,让GPU从图形处理器进化为通用计算引擎。这种转变如同给印刷机装上了大脑:
- 统一计算架构:流处理器取代固定管线
- 并行计算能力:数千个核心同时工作
- 编程模型革新:CUDA C/C++语言
# GPU计算性能增长曲线(FLOPS)
1999 GeForce 256: 50 GFLOPS
2006 Tesla C870: 518 GFLOPS
2012 Tesla K20X: 3.95 TFLOPS
2017 V100: 15.7 TFLOPS
2022 H100: 67 TFLOPS
二、现代GPU架构深度解析
2.1 核心组件剖析
2.1.1 计算单元架构
[层次结构]
1. GPU芯片:
├─ 图形处理集群(GPC)
│ ├─ 纹理处理集群(TPC)
│ │ ├─ 流式多处理器(SM)
│ │ │ ├─ CUDA核心
│ │ │ ├─ Tensor核心
│ │ │ └─ RT核心
│ │ └─ 纹理单元
│ └─ 光栅引擎
└─ 内存控制器
2.1.2 内存层次结构
存储层级 | 容量 | 带宽 | 延迟 | 典型用途 |
---|---|---|---|---|
寄存器 | KB | TB/s | 1ns | 线程私有数据 |
共享内存 | MB | TB/s | 10ns | 线程块通信 |
L2缓存 | MB | TB/s | 20ns | 全局数据缓存 |
显存 | GB | TB/s | 100ns | 主存储器 |
系统内存 | GB | GB/s | 100ns | 大容量数据交换 |
2.2 关键性能指标
2.2.1 计算能力
# 计算峰值性能公式
def peak_flops(sm_count, cuda_cores_per_sm, clock_speed):
return sm_count * cuda_cores_per_sm * clock_speed * 2 # 2表示FMA操作
# RTX 4090计算示例
peak_flops(128, 128, 2.52GHz) = 128 * 128 * 2.52 * 2 =