Skip to content

编译与图优化专题

专题定位

本专题用于串起编译与图优化主线:先看为什么“图看起来正确”不等于“跑起来高效”,再看 fusion、lowering、schedule、layout 和 backend 约束分别改的是哪一层,最后把差异收回 benchmark 和项目结论。这里聚焦图级判断和执行级约束;如果问题先表现为推理策略或多卡通信,应转到对应专题。

Infra 层定位

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

推荐入口

推荐从 推理优化专题 的请求链路和算子基础进入,再在遇到 kernel、fusion 或 backend 差异时回看本专题。需要证据采集时,与 Profiling 专题 配合使用。

前置阅读

建议先掌握 Part 01 的 GPU 执行与算子基础,再阅读表中的 lowering、schedule 和 backend 相关来源。初学者可先看 Task1-2 建立图到 kernel 的映射,再进入项目 benchmark。

主学习线

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

Task学习内容主学习线专题正文
Task1图级判断与 fusion 直觉Part 01:09 -> 1901 Why Compiler and Graph Optimization Matters
Task2lowering、legalization 与 schedulingPart 01:08 -> 3203 Lowering, Legalization and Scheduling
Task3执行模型与 backend 约束Part 01:15 -> 16 -> 1804 Execution Model and Backend Constraints
Task4backend 成本模型Part 01:3305 Backend Cost Models and Divergent Optima
Task5推理与图优化交叉处20 -> 22 -> 3402 Graph Structure and Fusion Decisions
Task6benchmark 与项目验证66 -> 67 -> 7406 Benchmark and Project Validation

正文与跳转

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

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

项目结论

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

环境与验证

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

Released under the MIT License.