Skip to content

PyTorch内核探秘

第一本贯穿 PyTorch 训练栈、从 Tensor 内存布局一路打到 Inductor Triton 代码生成的架构专著。

本书基于 PyTorch v2.11(torch.compile 已成默认编译路径、FSDP-2 已稳定的里程碑版本)源码,系统剖析当代深度学习训练框架的设计与实现。从一个 tensor.add(other) 的完整旅程出发,由外到内、层层下潜:经过 Python 前端、Dispatcher 多分派、ATen 算子注册、c10 核心抽象、CUDA Caching Allocator、Autograd 反向图、TorchDynamo 帧拦截、AOTAutograd 函数化、Inductor Triton 代码生成、DDP 环形 AllReduce、FSDP ZeRO-3 分片,最终回到 NCCL 通信原语 —— 把每一个架构决策背后的"为什么"翻出来。

本书规模

数据
章节24(前言 + 23 正文)
中文字数~16 万
Mermaid 架构 / 时序图122 张
真实源码引用数百处带 file:line 标注,全部对齐 v2.11 实测
Section 编号924 条,跨章 §X.Y.Z cross-reference 100% 命中

每章 6500+ 中文字 + 至少 4 张 mermaid 图 + 多段真实源码摘录,覆盖 v2.11 源码的核心机制(不是 API 教程、不是入门)。

适合谁读

每天在用 model.fit() / loss.backward() / torch.compile() 的 AI 工程师,想理解"我写的 Python 代码到底怎么变成 GPU 上跑的 kernel"的研究者,做训练基础设施 / 推理优化 / 自定义算子的系统工程师,以及所有不满足于"框架黑盒"的深度学习从业者。

与本系列其他书的关系

关联书关系
vLLM 内核探秘推理侧;本书是训练侧 —— 两者共享 ATen / CUDA Allocator / Dispatcher,构成"训练 + 推理"双子卷
Tokio 异步运行时都是"用户态调度器 + 多线程 worker"模型,autograd Engine 章节会做对照
Rust 编译器之路TorchDynamo 的 guards / TorchInductor 的 IR-Lowering 与编译器后端有同源思想
Serde 元编程ATen 的算子代码生成(YAML → C++ 注册)和 Serde 的派生宏哲学相通

目录

开篇

第一篇 全景

第二篇 张量层与运行时

第三篇 Dispatcher 与算子

第四篇 Autograd 自动求导

第五篇 nn 与训练栈

第六篇 torch.compile 编译器栈

第七篇 分布式训练

第八篇 工程与生态

版权声明

本书采用 CC BY-NC 4.0 许可协议。转载或引用请署名 杨艺韬 并附原文链接,禁止商业用途。

基于 VitePress 构建