技术路线
自动融合方案基于昇腾NPU底层统一的Ascend C IR(Ascend C IR是面向Ascend C编程语言做建模的IR,如下简称AscIR)Schedule与代码生成能力,构建了两条融合实现路径,如图1所示。
- 第一条路径基于昇腾自研的GE框架,注重NPU的亲和性,核心包括三部分能力:
- Ascend IR(Ascend Intermediate Representation)的符号化shape推导,通过变量符号表达动态变化的shape,从而在编译时基于符号化的shape进行代码生成。
- Ascend IR到AscIR的Lowering实现,使用低层级的AscIR表达Ascend IR的计算逻辑,确定融合结构。
- 融合策略,结合AscIR的特点与约束,进行融合结构间的循环轴合并,获得融合最优解。
- 第二条路径则对接PyTorch Inductor,聚焦于生态支持,复用Inductor的融合能力,将Inductor IR表达的融合结构转换为Ascend C IR图,进行代码生成。当前版本不支持该技术路线。
父主题: AutoFuse概述
