1. GPU概述:GPU发展简史、GPU与CPU的区别、GPU在AI时代的核心地位

1.1 从图形卡到通用计算:GPU发展简史

说起GPU,很多人第一反应是打游戏用的显卡。其实,GPU的诞生确实是为了图形渲染。我入行那会儿,GPU还叫“图形加速卡”,功能单一得很。

1999年,NVIDIA发布了GeForce 256,第一次提出了“GPU”这个概念。它能把几何变换和光照计算从CPU手里接过来。说白了,就是让CPU喘口气,专心干别的活。

2006年是个转折点。NVIDIA推出了CUDA架构,GPU开始能跑通用计算了。我记得当时团队里有人开玩笑说:“这玩意儿以后不会要取代CPU吧?”嗯,虽然没完全取代,但GPU确实开辟了新战场。

2012年,AlexNet在ImageNet大赛上大放异彩,用的就是GPU训练。从那以后,AI界彻底“真香”了。你想想看,一个原本用来画三角形的硬件,突然成了AI算力的核心,这转变够戏剧性的。

到了2020年代,GPU已经进化成专门的AI加速器。Tensor Core、稀疏计算、FP8精度……这些新特性全是冲着深度学习去的。我去年调试一个千亿参数模型时,深刻体会到:没有GPU,现代AI就是空中楼阁。

1.2 GPU与CPU:天生不同

很多人问我:“GPU和CPU到底差在哪?”我通常用一个比喻回答:CPU是大学教授,GPU是流水线工人。

CPU擅长处理复杂、串行的任务。它有大缓存、强控制单元,能处理各种分支预测和乱序执行。你写个操作系统、跑个数据库,CPU是绝对主力。

GPU呢?它擅长简单、并行的任务。成千上万个核心同时干活,每个核心干的事很简单——算个矩阵乘法、做个向量加法。但架不住核心多啊!

来看个直观对比:

特性 CPU GPU
核心数量 4-32个 数千个
缓存大小 大(MB级) 小(KB级)
控制单元 复杂 简单
并行度 低(线程级) 高(数据级)
典型功耗 65-150W 150-450W
适用场景 操作系统、数据库 图形渲染、AI训练

我曾经在一个项目中,试图用CPU做图像处理。1280x720的图片,每像素做个简单滤波,CPU跑了200毫秒。换成GPU,同样的算法,2毫秒搞定。这就是并行计算的威力。

核心区别一句话总结:CPU是“少而精”,GPU是“多而糙”。但“糙”不代表差,在特定场景下,“多”就是正义。

1.3 GPU在AI时代的核心地位

为什么AI离不开GPU?说白了,深度学习的核心操作就是矩阵乘法。一个神经网络层,本质上就是一堆矩阵乘加运算。

你想想看,训练一个GPT-3模型,需要做多少次矩阵乘法?答案是:数万亿次。如果用CPU跑,估计得跑到地老天荒。GPU的并行架构,天生就是为这种计算设计的。

我参与过一个小型推荐系统的部署。模型不大,但用户请求量巨大。用CPU推理,单次请求延迟5毫秒,但并发一上来就崩了。换成GPU,延迟降到0.5毫秒,并发量提升20倍。嗯,这就是硬件的差距。

现在主流的AI框架——PyTorch、TensorFlow、JAX——底层都依赖CUDA或ROCm。没有GPU加速,这些框架的性能会断崖式下跌。

个人经验:如果你刚开始接触GPU编程,建议从PyTorch入手。它封装了底层细节,让你能快速看到GPU加速的效果。我当年从CUDA C开始学,踩了不少坑。现在的新人幸福多了。

GPU在AI领域的核心地位,体现在三个层面:

  • 训练阶段:大规模并行计算,缩短模型训练时间。从几周缩短到几天,甚至几小时。
  • 推理阶段:低延迟、高吞吐。实时语音识别、图像分类,GPU都能胜任。
  • 模型部署:TensorRT、ONNX Runtime等工具,专门优化GPU推理性能。

避坑指南:我曾经犯过一个错误——以为GPU越多越好。实际上,多卡通信的开销可能抵消计算加速。小模型用单卡就够了,大模型才需要多卡并行。别盲目堆硬件。

展望未来,GPU的进化方向很明确:更高的并行度、更低的数据精度、更智能的调度。NVIDIA的Hopper架构引入了Transformer Engine,专门优化Transformer模型。AMD的CDNA架构也在追赶。这场算力竞赛,远未结束。

好了,第一章就聊到这儿。GPU的世界很大,我们后面慢慢展开。