同一模型同卡可先卡内存后卡算力:GPU 执行原理全图解
techNmak · x · 2026-10-23
techNmak 发布长文系统讲解 GPU 如何执行 AI 负载,并配了一张完整图解「How GPUs Run AI」。核心观点:同一个 LLM 在 batch size 1 时是内存带宽受限,batch 变大后可能转为算力受限——低 batch 解码时搬运权重和 KV cache 的时间可能超过计算本身,所以 FLOP 数无法预测实际速度。
文中覆盖的要点:
- CUDA 执行模型:kernel 启动线程块网格,块分配到 SM,线程以 32 个一组组成 warp,由调度器在就绪 warp 间发射指令。
- 访存合并:32 线程各取 4 字节,地址连续时只触碰 4 个 32 字节 sector;stride 改为 32 字节则会触碰 32 个 sector(1024 字节),同样有效数据放大 8 倍流量。
- Matmul 分块与 Tensor Core:tiling 让操作数在寄存器/共享内存中复用;Tensor Core 需要合适的 tile 尺寸和数据布局才能保持忙碌。
- 算子融合:FlashAttention 通过 IO-aware 分块和 online softmax 避免在 HBM 中物化完整注意力矩阵,但二次复杂度不变。
- occupancy 与 roofline:提高占用率未必提升吞吐;roofline 模型给出理论上界,实际 kernel 可能远低于上界,需用 Nsight Systems / Nsight Compute 分析 launch 间隙、warp stall 和访存事务。
结论:优化 AI 负载既要懂数学运算,也要懂它如何映射到存储层级、执行单元与调度硬件。
「Infra」频道最新
- 重建 AI Agent 算力栈的三条心得:安全沙箱、近零闲置成本与持久记忆 — Saboo_Shubham_ · 2026-10-23
- Intel CRO 证实与 Musk 合作建 Terafab:芯片需求大到自建晶圆厂 — elonmusk · 2026-10-23
- 研究员吐槽:20万美元GPU服务器的采购单要用信封手递 — HildeKuehne · 2026-10-23
- Intel 与 AMD 合作:oneDNN 成为 PyTorch x86 CPU 加速统一路径 — PyTorch · 2026-10-23
- Google 与 Meta 开源 TorchTPU,PyTorch 原生跑 TPU 无需改代码 — PyTorch · 2026-10-23
- Intel 推 AI Playground Home Agent:手机经 Slack 远程调用本地 AI PC 算力 — PyTorch · 2026-10-23