| 迁移重构 LayerNormFusionPass 与 LayerNormInferenceFusionPass 两条融合规则 Co-authored-by: rk<wangpengbo26@huawei.com> # message auto-generated for no-merge-commit merge: !9533 merge layer_norm_pass into master 迁移重构 LayerNormFusionPass 与 LayerNormInferenceFusionPass 两条融合规则 Created-by: wangpengbo26 Commit-by: rk Merged-by: cann-robot Description: ## 描述 新增 LayerNormFusionPass 和 LayerNormInferenceFusionPass 两条 GE 自定义融合规则,将 LayerNorm 的计算图展开形式融合为 LayerNorm 算子,减少图执行时的算子下发数量和中间结果访存。同步补充设计文档和融合模式图示。 ### 改动原因 LayerNorm 在 GE 图中以展开形式存在(多个 ReduceMean、Sub、Mul、Add 等基础算子),执行效率低。新增融合规则将展开图模式匹配后替换为 LayerNorm 算子节点,提升执行性能。 ### 改动方法 1. **LayerNormFusionPass**(训练场景): - 匹配训练版 LayerNorm 展开图:mean → SquaredDifference → Add(eps) → Mul → ReduceMean → Sub → Mul → Mul(rstd) → Mul(gamma) → Add(beta) - 支持交换律枚举(4 位),覆盖等价图拓扑变体 - 校验:keep_dims、axes 匹配、eps 位置、中间节点无外部消费者等 - 平台限制:NpuArch = 3510(Ascend 950PR/950DT) 2. **LayerNormInferenceFusionPass**(推理场景): - 匹配推理版 LayerNorm 展开图:mean1 → mean2 → Rsqrt → mul1 → mul2 → mul3 → Sub → Add - 支持交换律枚举(6 位),覆盖等价图拓扑变体 - 校验:推理流判别(不含 mean 的 SquaredDifference)、keep_dims、axes 匹配等 - 平台限制:NpuArch = 3510(Ascend 950PR/950DT) 3. **设计文档**:新增 LayerNormFusionPass.md 和 LayerNormInferenceFusionPass.md,描述融合模式(含图示)、使用约束(不支持动态 shape、输入参数限制、ReduceMean/Sub 限制、数据类型仅支持 FLOAT32/FLOAT16)、支持的型号。 4. **融合模式图示**:新增 6 张 PNG 图片,展示融合前后的图结构。 5. **math_proto_stub.cpp**(+101):新增 ReduceMean、SquaredDifference、Sub、Mul、Rsqrt 算子原型 stub,供融合规则 UT 构图使用。 涉及文件(15 个): - norm/layer_norm/op_graph/fusion_pass/layer_norm_fusion_pass.cpp(+462) - norm/layer_norm/op_graph/fusion_pass/layer_norm_fusion_pass.h(+33) - norm/layer_norm/op_graph/fusion_pass/layernorm_inference_fusion_pass.cpp(+377) - norm/layer_norm/op_graph/fusion_pass/layernorm_inference_fusion_pass.h(+33) - norm/layer_norm/docs/LayerNormFusionPass.md(+46) - norm/layer_norm/docs/LayerNormInferenceFusionPass.md(+39) - docs/zh/figures/LayerNormFusionPass_1~4.png(+12) - docs/zh/figures/LayerNormInferenceFusionPass_1~2.png(+6) - norm/layer_norm/tests/ut/op_graph/test_layer_norm_fusion_pass.cpp(+317) - norm/layer_norm/tests/ut/op_graph/test_layernorm_inference_fusion_pass.cpp(+279) - common/stub/op_graph/math_proto_stub.cpp(+101) ## 关联的Issue - #5852 ## 测试 - LayerNormFusionPassTest:9 个 UT 用例,覆盖融合成功(form A/B、交换律操作数、共享 axes const)、不融合场景(keep_dims=false、axes 不匹配、eps 位置错误、中间节点有外部消费者)。 - LayerNormInferenceFusionPassTest:6 个 UT 用例,覆盖融合成功(含交换律操作数、共享 axes const)、不融合场景(keep_dims=false、axes 不匹配、训练流不融合)。 - 测试环境:Ascend950(NpuArch=3510)。 ## 文档更新 - 新增 norm/layer_norm/docs/LayerNormFusionPass.md:训练场景融合规则设计文档 - 新增 norm/layer_norm/docs/LayerNormInferenceFusionPass.md:推理场景融合规则设计文档 - 新增 6 张融合模式图示 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9533 | 10 天前 |
| fix: Modify the AIDD docs issue Co-authored-by: zwj223<zhangwenjing55@h-partners.com> # message auto-generated for no-merge-commit merge: !8149 merge master into master fix: Modify the AIDD docs issue Created-by: zwj223 Commit-by: zwj223 Merged-by: cann-robot Description: ## 描述 修改AIDD扫描的核心资料问题 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#3939](https://gitcode.com/cann/ops-nn/issues/3939) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8149 | 1 个月前 |
| 公共文档同步修改 Co-authored-by: yolic<chenyuning1@huawei.com> # message auto-generated for no-merge-commit merge: !10337 merge readme0912 into master 公共文档同步修改 Created-by: yolic Commit-by: yolic Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 公共文档同步修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#5831](https://gitcode.com/cann/ops-nn/issues/5831) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了CONTRIBUTING.md、docs/QUICKSTART.md、docs/zh/install/compile.md、docs/zh/install/dir_structure.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10337 | 14 天前 |
| torch资料入口 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !9678 merge torch into master torch资料入口 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 torch资料入口补充 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3384 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 docs/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9678 | 27 天前 |