Skip to content

图级优化与编译支撑(Graph Optimization and Compiler Support) ​

所属专题:算子优化 模块定位:图变换、lowering 与 backend 约束

专题定位与 Infra 层定位 ​

本模块原来是独立的编译与图优化专题,现在并入算子优化的 Task1。它负责解释高层计算图如何经过 graph rewrite、IR、lowering、legalization 和 schedule,进入可执行的 kernel 组合;算子优化主线继续负责具体 kernel 的语义、访存、执行和性能证据。

本专题主要连接 Infra-L2–Infra-L3,并向下受 Infra-L1 硬件约束、向上服务于 Infra-L4 的训练和推理运行时:算子库、编译器、kernel 选择和 backend lowering 属于 Infra-L2,框架图、执行计划与运行时调度属于 Infra-L3。它不替代推理、显存或通信专题,而是解释同一策略如何经过编译后改变计算、内存访问和通信成本。

推荐入口 ​

推荐从算子优化主入口的 Task0–2 进入,再在遇到 graph rewrite、fusion、lowering 或 backend 差异时回看本模块。需要证据采集时,与性能优化配合使用。

前置阅读 ​

建议先掌握 Part 01 · 08 CUDA / Triton 编程模型、Part 01 · 09 AI 编译器与图优化 的 GPU 执行与算子基础,再阅读表中的 lowering、schedule 和 backend 相关内容。初学者可先看 Task1-2 建立图到 kernel 的映射,再进入项目 benchmark。

主学习线 ​

Task1-6 是学习路线,指向 Part 01 / Part 02 的具体小节;最后一列的 01-06 是专题正文页,只负责解释和串联。

Task学习内容主学习线专题正文
Task1图级判断与 fusion 直觉Part 01 · 09 AI 编译器与图优化 → Part 01 · 19 算子融合基础01 为什么需要编译与图优化
Task2lowering、legalization 与 schedulingPart 01 · 08 CUDA / Triton 编程模型 → Part 01 · 09 AI 编译器与图优化03 Lowering、Legalization 与 Scheduling
Task3执行模型与 backend 约束Part 01 · 15 CUDA 执行模型 → Part 01 · 16 Warp / Block / Shared Memory → Part 01 · 18 Triton Block 模型04 执行模型与后端约束
Task4backend 成本模型Part 01 · 33 TCO 与成本模型05 后端成本模型与不同最优解
Task5推理与图优化交叉处Part 02 · 20 FlashAttention 模拟 → Part 02 · 22 vLLM PagedAttention → Part 02 · 34 Prefix Cache 与 Chunked Prefill02 计算图结构与融合决策
Task6benchmark 与项目验证Part 02 · 66 推理性能比较 → Part 02 · 67 量化推理与部署 → Part 02 · 74 Profiling 驱动优化06 基准测试与项目验证

正文与跳转 ​

先按上面的 Task1-6 走来源主线;遇到“同一张图为什么在不同 backend 上差很多”“fusion 和 schedule 到底谁决定结果”时,再回来看对应的专题正文。想看汇总版就进 编译与图优化正文,想按连续故事线走一遍就进 编译与图优化深入阅读。

如果问题已经跨到别的专题: 性能分析 负责热点证据链,推理优化 负责请求链路视角,通信与并行 负责切分与通信代价。

项目结论 ​

推荐以 66 推理性能比较 -> 67 量化推理与部署 -> 74 Profiling 驱动优化 形成最小验证闭环。结论至少应同时记录图或 kernel 的变化、端到端延迟、吞吐、显存和 backend 环境;单个算子变快不等于服务整体变快。

环境与验证 ​

图结构、成本模型和部分 lowering 模拟可用 CPU;真实编译、kernel autotune 和 serving backend 验证通常需要 GPU。应固定输入形状、warmup、迭代次数和后端版本,并保留编译日志与 benchmark JSON。

Released under the MIT License.