已合并
docs: add InplaceAddLayerNormFusionPass doc #9666
rk创建于 27 天前
docs: add InplaceAddLayerNormFusionPass doc #9666
已合并
共 2 个文件变更+33-0
| @@ -0,0 +1,33 @@ | |||
| 1 | +# InplaceAddLayerNormFusionPass | ||
| 2 | + | ||
| 3 | +## 融合模式 | ||
| 4 | + | ||
| 5 | +<!-- npu="950,A3,910b" id1 --> | ||
| 6 | +融合模式一:将图中的AddLayerNorm算子替换为InplaceAddLayerNorm算子,使层归一化结果和加法结果分别原地写回x1和x2。如下图所示。 | ||
| 7 | + | ||
| 8 | +该融合模式支持的产品如下。 | ||
| 9 | + | ||
| 10 | +<!-- npu="910b" id2 --> | ||
| 11 | +Atlas A2 训练系列产品/Atlas A2 推理系列产品 | ||
| 12 | +<!-- end id2 --> | ||
| 13 | + | ||
| 14 | +<!-- npu="A3" id3 --> | ||
| 15 | +Atlas A3 训练系列产品/Atlas A3 推理系列产品 | ||
| 16 | +<!-- end id3 --> | ||
| 17 | + | ||
| 18 | +<!-- npu="950" id4 --> | ||
| 19 | +Ascend 950PR/Ascend 950DT | ||
| 20 | +<!-- end id4 --> | ||
| 21 | + | ||
| 22 | + | ||
| 23 | + | ||
| 24 | +<!-- end id1 --> | ||
| 25 | + | ||
| 26 | +## 使用约束 | ||
| 27 | + | ||
| 28 | +- 只支持推理场景。 | ||
| 29 | +- AddLayerNorm算子的bias为可选输入,支持带bias和不带bias的场景。 | ||
| 30 | +- x1和x2必须满足原地写回安全要求:除当前AddLayerNorm算子外不能被其他节点消费,且不能来自连续内存排布的多输出节点。 | ||
| 31 | +- 静态shape场景下,x1占用的内存大小必须大于等于L2缓存容量的1/8,且小于等于L2缓存容量的2倍。 | ||
| 32 | +- 动态shape场景下,x1的最后一维必须为5120。 | ||
| 33 | +- AddLayerNorm算子的x1、x2和gamma输入的数据类型必须相同。 | ||