已合并
docs: add InplaceAddLayerNormFusionPass doc #9666
docs: add InplaceAddLayerNormFusionPass doc #9666
已合并
rk创建于 27 天前
共 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+![](../../../docs/zh/figures/InplaceAddLayerNormFusionPass_1.png)
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输入的数据类型必须相同。