所有标签
标签: "source-reading"
源码精读 006 — FlyDSL, 一个用 MLIR 撑骨架的 layout 代数 Python DSL
AMD 的 FlyDSL 是 Fly dialect MLIR 编译器的 Python 前端, 把 layout 代数和 copy / MMA atom 一路 lower 到 CDNA3 / CDNA4 的 ROCDL。 examples 目录下 vectorAdd、 tiledCopy、 tiledMma、 preshuffle GEMM 四个例子构成一条严格的进阶阶梯, 按顺序读完, 你就掌握了 paged attention、 MoE GEMM、 flash attention 这些 production kernel 反复重组的所有零件。
源码精读 005 — GCNasm, 六十四道公案为你补全那本读不完的 AMD ISA 手册
carlushuang 的 gcnasm 是 HIP 教程和 1200 页 CDNA3 ISA 手册之间罕见的中间地带: 64 个独立、 完整、 短小的 kernel, 把 AMD 高手亲手写的代码长什么样直接摊给你看。 6 小时认真读下来, 你会拿到一套能用的 MFMA / vmcnt 流水线 / DPP 跨 lane / 还有那条 LLVM 汇编器拒绝接受的指令的心智模型。
源码精读 004 — mini-SGLang, 缩小 140 倍的双生子如何教会我们读 SGLang
5000 行的教学实现, 与 72.9 万行的生产引擎并行维护。 5 小时读穿。 关于"如何从最小实现学到东西"的反思至少和代码本身一样重要。
源码精读 003 — vLLM, KV cache 变成虚拟内存的地方
63.3 万行代码、 20 个 attention backend、 7185 行 GPU model runner、 一次让引擎本身变成进程的架构重构。 推理引擎三部曲的收官。
源码精读 002 — SGLang, 推理引擎也是个四进程分布式系统
72.9 万行代码、 27 个 attention backend、 4006 行 scheduler、 把对话 prefix 变成 KV cache 命中的 radix 树。 一份对我 AMD 工作每天都在用的推理引擎的深度阅读。
源码精读 001 — SkyPilot, 21 万行的多云编排
六个半小时把 SkyPilot 源码读穿。 三区架构、 DP+ILP 混合优化器、 9-stage 执行流水线,以及加一个新云后端要改哪些文件。