GPU现在是AI时代的"发动机",但你真的知道GPU里面到底是怎么干活的吗?
今天咱们把GPU一层层剥开,从内存层次结构到Streaming Multiprocessor,从warp到kernel,给你讲得明明白白。
1. 一句话说透CPU和GPU的本质区别
很多人说了一万遍,但我再给你重复一遍——CPU是几个聪明人干复杂活,GPU是一千个笨人干简单活。
CPU那几个核心,每个都能处理复杂的逻辑跳转,分支预测玩得贼溜。
但GPU不一样,我几千个小核心,每个就干一件事——给我一个浮点,算完拉倒。
AI大模型里面全是矩阵乘法,几千个一模一样的计算,正好GPU吃这口。
这就是为什么Nvidia能在AI时代封神——人家架构设计二十年前就押对宝了。
2. GPU的内存层次:快慢分三层,快的买不起
GPU性能瓶颈不在计算,在内存带宽。
这个道理行内人都懂,你数据喂得慢,计算单元再强也得饿肚子。
GPU的内存分三层,从快到慢排:
1. SRAM——最快,但贵死了
SRAM就在GPU核心里面,分三级:
寄存器 → 最小、最快,每个核心正在算的数据就放这,速度上天,但容量只有几KB
L1 Cache → 每个SM(流式多处理器)自己的缓存,经常访问的数据放这,减少去慢内存掏
L2 Cache → 多个SM共享,比L1大,比显存快,装不下的数据放这
带宽对比戳瞎你:
SRAM → 19 TB/s!(就20 MB容量)
HBM → 1.5 TB/s(能放40 GB)
CPU DRAM → 12.8 GB/s
看到没?
越快容量越小越贵,所以你得会把数据往对的地方放,这就是优化的精髓。
2. DRAM——主存,也就是你说的VRAM
就是显卡卡身上插的显存,用来放模型权重、纹理这些大数据,速度比SRAM慢一个数量级,但容量大得多:
普通消费级显卡用 GDDR
高端AI卡用 HBM(高带宽显存) → 垂直堆叠,延迟低带宽高,就是贵,一块HBM2e顶你半个显卡钱。
3. 为啥这个分层这么重要?
数据从DRAM搬到SRAM是真费时间,kernel优化第一要务就是减少这种搬运。你优化好了,计算单元才不会闲得发呆。
3. SM:GPU的基本计算单位
Streaming Multiprocessor(SM) 就是GPU的基本处理单元,Nvidia架构核心中的核心。
每个SM里面有啥:
多个GPU核心(CUDA核心)
自己的一小块SRAM(L1缓存+共享内存)
执行单元
程序跑在GPU上,会被拆分到多个SM上,每个SM干自己那一块数据。
SM越多,GPU算力越强——就这么简单。
程序在GPU上叫kernel,一个kernel就是一段并行代码,每个程序实例叫PID(Program ID),分配到一个SM上,用SM里面的SRAM计算。
这里有个trade-off:
每个PID占内存越多,一个SM能同时跑的PID就越少,并行度就上不去,效率就降了。
所以你写GPU代码,能省内存就得省。
4. 核心、Warp、并行:这就是GPU快的秘密
GPU核心——最小计算单位
每个核心就干一件事:浮点运算(FLOP),一个周期一次FLOP,和CPU比,简单粗暴,但量大管饱。
Warp——核心分组,步调一致走
GPU核心是分成组的,Nvidia一个warp 32个核心,AMD是64个。
一个warp里面所有核心必须同时执行同一条指令,只是操作不同数据。
这就是SIMT(单指令多线程)——GPU的核心设计哲学。
这里有个坑叫warp divergence:如果张量形状不是32的倍数,有些核心就没事干,闲坐着,效率就降了。
所以优化小技巧:你调张量形状的时候,尽量弄成32(Nvidia)或64(AMD)的倍数,能提高利用率,速度就是这么上去的。
5. 想要GPU跑的快,记住这三条优化原则
文章总结了三个最简单也最重要的优化点,我给大家翻译成人话:
1. 减少内存搬运 → 尽量让数据待在SRAM里,少去VRAM掏,掏一次慢一次
2. 提高并行度 → 每个程序占内存少一点,一个SM就能多跑几个程序,计算单元不闲着
3. 对齐Warp尺寸 → 张量形状尽量是warp尺寸整数倍,别让核心闲得慌
就这三条,做到了,你的GPU程序就能快不少。
6. 总结:GPU天生就是为AI长的
GPU设计出来就是干海量并行简单计算的,正好撞到大模型AI的需求上——矩阵乘法不就是几千个一模一样的乘加吗?
从内存层次结构,到SM组织,再到warp并行,整套设计都是为这个优化的。
你理解了这套设计,就懂了为什么Nvidia这么多年没人打得过——人家堆料同时,架构设计确实玩出花了。
现在你跑AI模型,知道为啥GPU快了吧?
你用的什么GPU?跑AI够不够用?欢迎评论区聊聊。
给大家报告一下,我写的书《芯术:算力驱动架构变革》荣耀入选机械工业出版社2026 两会六大政策主题推荐书单,位列新质生产力培育核心推荐书目!
384