整体流程

flowchart TD
    A[用户编写的 PyTorch 代码] --> B[TorchDynamo
图捕获前端] B --> C{是否满足
Guard 条件?} C -- 是 --> D[生成 FX Graph] C -- 否 --> E["重新编译
(形状/设备等变化)"] E --> B B --> F[遇到 Graph Break?] F -- 是 --> G[切割图
回退到 Eager 模式] G --> D F -- 否 --> D D --> H[AOTAutograd
提前自动微分与算子分解] H --> I[生成前向+反向联合图
并分解复杂算子] I --> J[Inductor
后端编译器] J --> K["转换为 Loop-based IR
(展开形状、循环)"] K --> L["调度器(Scheduler)
算子融合、内存规划"] L --> M["代码生成器(Codegen)
生成内核代码"] M --> N{目标硬件?} N -- GPU --> O[生成 Triton 内核
并通过 Triton 编译] N -- CPU --> P[生成 C++ 内核
并通过编译器编译] O --> Q[加载并执行内核] P --> Q Q --> R[输出结果] style A fill:#f9d0c4,stroke:#333 style B fill:#b5e7a0,stroke:#333 style H fill:#b5e7a0,stroke:#333 style J fill:#b5e7a0,stroke:#333 style Q fill:#f9d0c4,stroke:#333