一、GPU概述:从图形卡到计算巨兽
大家好,我是你们这堂课的讲师。在GPU领域摸爬滚打了十几年,我见过它从一块“画图卡”变成今天AI浪潮的算力基石。今天咱们就来聊聊GPU的“前世今生”,以及它凭什么能成为这个时代的宠儿。
1.1 GPU发展简史:从Voodoo到Hopper
GPU的历史,说白了就是一部“被逼着进化”的历史。早期计算机根本没有GPU这个概念,所有图形计算全靠CPU硬扛。我记得90年代玩《雷神之锤》,那画面简直惨不忍睹——全是马赛克。
转折点出现在1999年。NVIDIA发布了GeForce 256,第一次提出了“GPU”这个名词。它最大的贡献是什么?是把“变换和光照”这些固定管线从CPU手里抢了过来。你想想看,CPU终于可以喘口气了。
后来GPU的发展就进入了快车道:
- 2001年:可编程着色器出现。开发者终于可以自己写点小代码控制像素了。我在做第一个Shader程序时,兴奋得一晚上没睡。
- 2006年:NVIDIA推出CUDA。这是革命性的一步——GPU不再只是图形卡,它变成了通用计算设备。说白了,你可以在上面跑科学计算了。
- 2012年:AlexNet在GPU上训练成功,AI时代正式开启。我记得当时团队里还有人质疑“用显卡跑神经网络靠谱吗?”结果大家都看到了。
- 2020年至今:Ampere、Hopper架构相继问世。现在的H100 GPU,晶体管数量高达800亿,算力是当年GeForce 256的几十万倍。
核心观点:GPU的进化史,就是一部从“专用图形处理器”到“通用并行计算引擎”的蜕变史。每一次架构革新,都在拓宽它的应用边界。
1.2 GPU与CPU的区别:一个像卡车,一个像跑车
很多初学者会问:GPU和CPU到底有啥区别?我用一个比喻来解释:
CPU是跑车——它擅长处理复杂的、串行的任务。单个核心性能极强,但核心数量有限(主流CPU也就8-16核)。
GPU是卡车队——它拥有成百上千个“小核心”(比如RTX 4090有16384个CUDA核心),每个核心性能一般,但胜在数量多、能并行干活。
为什么会这样设计?因为两者的目标完全不同:
| 对比维度 | CPU | GPU |
|---|---|---|
| 设计目标 | 低延迟、高响应 | 高吞吐、并行计算 |
| 核心数量 | 少(个位数到两位数) | 多(成百上千) |
| 缓存大小 | 大(MB级别) | 小(KB级别) |
| 控制单元 | 复杂(分支预测、乱序执行) | 简单(主要做调度) |
| 典型功耗 | 几十到一百多瓦 | 几百瓦(H100可达700W) |
嗯,这里要注意:GPU不是万能的。如果你要跑一个单线程的数据库查询,CPU完胜。但如果你要做矩阵乘法、图像渲染这种“数据并行”的任务,GPU能把CPU按在地上摩擦。
避坑指南:我曾经见过一个团队,试图用GPU加速一个逻辑判断极其复杂的算法,结果性能反而比CPU还差。为什么?因为GPU的每个核心都很“笨”,它不擅长处理分支跳转。所以,选GPU还是CPU,先看你的任务是不是“数据并行”的。
1.3 GPU在AI中的应用:算力即正义
说到AI,GPU几乎是绕不开的话题。为什么?因为深度学习本质上就是大量的矩阵运算。你想想看,一个神经网络动辄几亿个参数,每次训练都要做前向传播和反向传播——这全是矩阵乘法和卷积操作。
而GPU最擅长的就是矩阵运算。以NVIDIA的Tensor Core为例,它专门为矩阵乘法做了硬件优化。我在训练BERT模型时,用V100比用纯CPU快了将近100倍。没有GPU,今天的AI应用可能还停留在实验室阶段。
具体来说,GPU在AI中的典型应用包括:
- 模型训练:从几小时的训练缩短到几分钟。我习惯用混合精度训练(FP16+FP32),既省显存又提速。
- 推理部署:比如ChatGPT的在线服务,背后是成千上万块A100/H100在支撑。
- 强化学习:并行环境模拟,GPU可以同时跑几百个游戏实例。
1.4 GPU在图形学中的应用:老本行不能丢
虽然GPU在AI领域大放异彩,但别忘了它的“老本行”——图形渲染。从《赛博朋克2077》的光线追踪,到Blender的实时预览,GPU始终是图形学的核心。
图形渲染管线大致分为几个阶段:
- 顶点处理:把3D模型的顶点坐标变换到屏幕空间。
- 光栅化:把三角形变成像素点。
- 片段着色:计算每个像素的颜色、光照、纹理。
- 输出合并:处理深度测试、透明度混合等。
这些步骤天然适合并行计算——每个顶点、每个像素都可以独立处理。所以GPU从一开始就是为图形学量身定做的。
注意:光线追踪虽然效果逼真,但计算量极大。即使是RTX 4090,在4K分辨率下开满光追也可能掉到30帧。所以实际游戏中通常会用DLSS(深度学习超采样)来“作弊”——先用低分辨率渲染,再用AI模型放大。这招我经常用,效果真不错。
1.5 本章知识体系总览
下面这张图,是我自己整理的GPU知识体系框架。你可以把它当作整个课程的“地图”:
这张图把GPU硬件资源管理拆成了五个模块。发展简史是背景,CPU对比是定位,AI和图形学是应用场景,而资源管理核心则是我们后续课程要深挖的内容。我个人建议你把这图存下来,学完一章回来看看,会更有全局感。
好了,第一章就到这里。GPU的世界很大,咱们慢慢聊。记住一句话:理解GPU,就是理解并行之美。
公众号:蓝海资料掘金营,微信deep3321