Wink Pings

先别急着写CUDA:这套56章的GPU底层笔记免费开源

Tech with Mak 推荐了一个免费开源资源 Before GPU Engineering,56章已上线,从CPU/GPU架构、warp、SIMT一路讲到内存墙、coalescing、register spilling和profiling。它主要帮人搞懂LLM训练推理的硬件底层,Phase 5还在写。

GPU 教程最容易犯的毛病,是先教 API,再让人背性能参数。跑通一个 kernel 不难,难的是知道它为什么慢。

Tech with Mak 在推文里推荐了一个免费开源资源,叫 Before GPU Engineering。仓库地址在这里,在线数字笔记在这里。它把 GPU 架构和性能工程从硬件底层往上讲,目前有 56 章上线,覆盖 Phase 1 到 Phase 4,Phase 5 还在写。

仓库作者写明,这套笔记从逻辑门、内存总线一路搭到 GPU 架构,不靠抽象术语带过。目录里有 CPU 与 GPU 架构、并行计算、warps、SIMT、thread blocks、寄存器、共享内存、缓存、HBM、compute-bound 与 memory-bound、kernel 启动、同步、竞态、memory coalescing、occupancy、latency hiding、register spilling、arithmetic intensity、tiling、GEMM 和 profiling。

Before GPU Engineering 课程大纲截图

它的顺序值得注意。很多材料直接进 CUDA 或 Triton,先让人把代码跑起来,再回头补硬件。这套笔记反过来,先解释 GPU 怎么执行程序、怎么搬数据、怎么处理并行负载,再谈 kernel 优化。顺序读看起来慢,实际省掉后面盲调参数的时间。

Phase 2 的目录集中在翻译层、硬件层次、同步与竞态、规模和性能。比如 C++ 为什么不会自动编译到 GPU、kernel 为什么不是普通函数、线程为什么分组、共享内存为什么快、kernel 启动开销、合并访问与条纹访问、GPU 程序为什么变慢。

Phase 2 目录截图,包含翻译层、硬件层次、同步与竞态、规模与性能

Phase 3 更偏向性能工程。内存墙、算术强度、双天花板、寄存器物理、occupancy 的比值含义、寄存器溢出、全局内存延迟、memory coalescing、DRAM 行缓冲抖动、predication、compare-and-swap、register tiling,最后收在 GEMM 和 profiling。有网友问 memory coalescing 在哪一阶段,答案在 Phase 3 的 Global Memory & Coalescing,第 44 章专门讲 32 个线程一次事务和 32 次事务的差别。

Phase 3 目录截图,包含内存墙、寄存器物理、寄存器溢出、全局内存与合并、共享内存与分块、GEMM

适合谁读?仓库作者给的对象是开发者、学生和自学者,前提是懂基本编程,但觉得 GPU 像黑盒。对 AI/ML 工程师,它能补上 LLM 训练和推理背后的硬件直觉。对普通读者,这些词看着吓人,当成硬件说明书慢慢读,比直接啃 CUDA 语法压力小。

有网友已经会 PyTorch,问该从哪一阶段开始。仓库作者的要求很直接:从第 1 章顺序读。概念层层依赖,跳过共享内存很难看懂矩阵分块。另一个网友问先修要求和项目,基本编程理解就够开始读,想动手得自己补 CUDA 或 Triton。Tech with Mak 也说明它主要是一份阅读资源,动手编程课的分量不重,部分后段章节还在写。

有网友说,喜欢它把 GPU 架构和性能放在一起讲,很多瓶颈最终都能回到硬件。这个判断比背 API 有用。

发布时间: 2026-11-02 06:43