LayerNorm ONNX 融合规则(LayerNormONNXFusionPass / LayerNormONNXMULFusionPass)需迁移至 ops-nn 仓库统一维护。ONNX 导入的 LayerNorm 在 GE 图中以展开形式存在(ReduceMean、Sub、Pow、Add、Sqrt、Div 等基础算子组合),算子下发数量多、中间结果访存开销大。
LayerNormONNXFusionPass
LayerNormONNXMULFusionPass
LayerNorm
LayerNormV3
迁移两条 GE 自定义融合规则:
ReduceMean、Sub、Pow(或 Square)、Add、Sqrt、Div
ReduceMean、两个独立 Sub、Mul(或 Pow)、Add、Sqrt(或 Pow)、Div
支持平台:Ascend 950PR/950DT
关联 PR:https://gitcode.com/cann/ops-nn/pull/9915
一、背景信息
LayerNorm ONNX 融合规则(
LayerNormONNXFusionPass/LayerNormONNXMULFusionPass)需迁移至 ops-nn 仓库统一维护。ONNX 导入的 LayerNorm 在 GE 图中以展开形式存在(ReduceMean、Sub、Pow、Add、Sqrt、Div 等基础算子组合),算子下发数量多、中间结果访存开销大。二、价值/作用
LayerNorm与LayerNormV3两种融合目标,支持带/不带 gamma/beta、Cast、数值裁剪、Div/RealDiv 等多种 ONNX 图变体三、设计方案
迁移两条 GE 自定义融合规则:
LayerNormONNXFusionPass:识别ReduceMean、Sub、Pow(或 Square)、Add、Sqrt、Div组合,融合为LayerNorm算子,支持 6 种场景(含 Cast、Max/Min 裁剪)。LayerNormONNXMULFusionPass:识别ReduceMean、两个独立 Sub、Mul(或 Pow)、Add、Sqrt(或 Pow)、Div组合,融合为LayerNormV3算子,支持 4 种场景及 Rsqrt 变体。支持平台:Ascend 950PR/950DT
关联 PR:https://gitcode.com/cann/ops-nn/pull/9915