CUDA × LLM 推理实战教程
一本用 14 章带你从 Hello CUDA 走到手写 GPT-2 推理引擎的代码级教材。
这本书不是"用 PyTorch 跑 LLM 入门 30 分钟"。它的目标是让你真正理解大模型推理在 GPU 上是怎么跑起来的——
从最里层的 __global__ void hello(),到 FlashAttention 的 online softmax,
再到 vLLM / TensorRT-LLM / DeepSeek FlashMLA 在生产里的真实样子。
每章 三段式:基础原理(含 Mermaid 图与可运行代码)→ 工业实战(生产经验、调试、调优)→ 2025-2026 研究前沿(Blackwell / FP4 / DeepSeek-V3 / MLA / FA v3-v4 等)。 配套 GitHub 仓库 jwzheng96/learn-cuda-from-scratch, 51 个 .cu/.h 文件,每个 kernel 都有 CPU reference 对拍。
怎么读这本书
- 顺序读:从 Part A 到 C,按依赖顺序铺开,约 12–20 小时。
- 速通读:跳过 Part A,直接从 Ch5 切入到 Ch12,约 6 小时(要求有基础并行经验)。
- 查阅式:用左侧目录跳到关心的章节;每章独立可读,章首会列前置依赖。
- 三段式分层:每章前 2/3 是基础概念,第三段是工业实战,最后一段是 2025-2026 前沿。 初学者读前两段即可;面试 / 实战找最后两段。
快速开始
方式 1 · Google Colab(免费 T4 GPU)
打开 colab.research.google.com → Runtime → Change runtime type → T4 GPU →
打开仓库里的 scripts/setup_colab.ipynb,从上到下运行即可。
方式 2 · 本地 Linux + NVIDIA GPU
git clone https://github.com/jwzheng96/learn-cuda-from-scratch.git
cd learn-cuda-from-scratch
make ARCH=sm_80 -C code/ch02_hello run # A100/3090
make ARCH=sm_75 -C code/ch02_hello run # T4
方式 3 · 本机阅读(macOS / Windows / Linux)
open docs/index.html # macOS
xdg-open docs/index.html # Linux
start docs\index.html # Windows
所有 HTML 都是纯静态、CDN 引入 Mermaid 与 Prism,双击即可看;不需要启 server。
常见问题
Q: 我没有 NVIDIA 显卡,能学吗?
能。所有 HTML 教程在任何设备上都能读;CPU reference 实现可在 macOS arm64 / Windows / Linux 上跑出正确答案; 真正想跑 kernel,免费的 Google Colab T4 足够(连 Capstone GPT-2 推理都能跑)。
Q: 已经会用 PyTorch,还要学 CUDA 吗?
如果只是调 API,不必。但如果你想:① 优化推理延迟、② 读懂 vLLM/TensorRT-LLM 源码、③ 写自定义算子、 ④ 准备 GPU 方向面试,CUDA 是绕不开的台阶。
Q: Triton / CUTLASS / ThunderKittens 不是更香?
是的,但要先理解 CUDA 编程模型才能用好它们。本教程第 2 / 9 / 12 章会展示 Triton / CUTLASS / ThunderKittens 的对照实现,让你看清"高层抽象"背后到底在做什么。
Q: 学完能达到什么水平?
能独立写出 100–1000 行级别的 CUDA kernel;能读懂主流推理引擎源码;能用 Nsight 定位性能瓶颈; 能跟上 2025–2026 论文(FA v3 / MLA / QServe / Mooncake)。距离"上线高性能 kernel"还有差距, 但这是必要起点。