| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
modified md files (modified the product name and link path) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !11029 merge master into master modified md files (modified the product name and link path) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 Changed the product name and link path ## 关联的Issue [#6092](https://gitcode.com/cann/ops-nn/issues/6092) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 md files ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!11029 | 5 天前 | |
modified md files (modified the product name and link path) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !11029 merge master into master modified md files (modified the product name and link path) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 Changed the product name and link path ## 关联的Issue [#6092](https://gitcode.com/cann/ops-nn/issues/6092) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 md files ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!11029 | 5 天前 | |
迁移 LayerNormONNXFusionPass 与 LayerNormONNXMULFusionPass 两条融合规则 Co-authored-by: wangpengbo26<wangpengbo26@huawei.com> # message auto-generated for no-merge-commit merge: !9915 merge layer_norm_pass_2 into master 迁移 LayerNormONNXFusionPass 与 LayerNormONNXMULFusionPass 两条融合规则 Created-by: wangpengbo26 Commit-by: wangpengbo26 Merged-by: cann-robot Description: ## 描述 迁移 LayerNormONNXFusionPass 与 LayerNormONNXMULFusionPass 两条 GE 自定义融合规则至本仓库,将 ONNX 导入的 LayerNorm 展开图融合为 LayerNorm / LayerNormV3 算子,减少图执行时的算子下发数量和中间结果访存。同步补充设计文档、配图和 UT。 ### 改动原因 ONNX 导入的 LayerNorm 在 GE 图中以展开形式存在(ReduceMean、Sub、Pow、Add、Sqrt、Div 等基础算子组合),算子下发数量多、中间结果访存开销大。两条 ONNX 融合规则迁移至本仓库统一维护,匹配后替换为 LayerNorm / LayerNormV3 算子节点,提升执行性能。 ### 改动方法 1. **LayerNormONNXFusionPass**:识别 ONNX 导入的 ReduceMean、Sub、Pow(或 Square)、Add、Sqrt、Div 等小算子组合,融合为 LayerNorm 算子。支持 6 种场景:带/不带 gamma 和 beta、平方计算前带 Cast、开方前经 Max+Min / Min+Max 数值裁剪;带 gamma 和 beta 时同时融合末尾的 Mul 和 Add。不带 gamma/beta 时创建全 1 gamma 和全 0 beta 常量。 2. **LayerNormONNXMULFusionPass**:识别 ReduceMean、两个独立 Sub、Mul(或 Pow)、Add、Sqrt(或 Pow)、Div 等组合,融合为 LayerNormV3 算子。支持 4 种场景:Mul/Pow 计算平方、带/不带 gamma 和 beta;另支持 Rsqrt 替代 Pow(0.5)。 3. **设计文档**:新增 LayerNormONNXFusionPass.md 和 LayerNormONNXMULFusionPass.md,描述融合模式(14 张配图)、使用约束(axes/keep_dims、Sub 位置、Cast/Div 限制、epsilon/Pow 指数常量约束、内部节点不复用等)、支持的型号(Ascend 950PR/950DT)。 4. **UT**:LayerNormONNXFusionPassTest 12 个用例、LayerNormONNXMULFusionPassTest 12+ 个用例,覆盖融合成功(Pow/Square、Div/RealDiv、Cast、Max/Min 裁剪、共享 axes const、gamma 输入位置交换)与不融合场景(不支持平台、keep_dims=false、Pow 指数非 2、epsilon 过大、中间节点有外部消费者等)。 5. **math_proto_stub.cpp**(+165):新增 Pow、Square、Sqrt、Maximum、Minimum、RealDiv、Div 算子原型 stub,供 UT 构图使用。 涉及文件(23 个,+3287): - norm/layer_norm/op_graph/fusion_pass/layer_norm_onnx_fusion_pass.cpp(新增,+815) - norm/layer_norm/op_graph/fusion_pass/layer_norm_onnx_fusion_pass.h(新增,+33) - norm/layer_norm/op_graph/fusion_pass/layer_norm_onnx_mul_fusion_pass.cpp(新增,+693) - norm/layer_norm/op_graph/fusion_pass/layer_norm_onnx_mul_fusion_pass.h(新增,+33) - norm/layer_norm/docs/LayerNormONNXFusionPass.md(新增,+75) - norm/layer_norm/docs/LayerNormONNXMULFusionPass.md(新增,+58) - docs/zh/figures/layer_norm_onnx_fusion_pass_1~8.png(新增) - docs/zh/figures/layer_norm_onnx_mul_fusion_pass_1~6.png(新增) - norm/layer_norm/tests/ut/op_graph/test_layer_norm_onnx_fusion_pass.cpp(新增,+709) - norm/layer_norm/tests/ut/op_graph/test_layer_norm_onnx_mul_fusion_pass.cpp(新增,+664) - common/stub/op_graph/math_proto_stub.cpp(+165) ## 关联的Issue - https://gitcode.com/cann/ops-nn/issues/6115 ## 测试 - LayerNormONNXFusionPassTest:12 个 UT 用例。 - LayerNormONNXMULFusionPassTest:12+ 个 UT 用例。 - 覆盖融合成功与不融合(约束不满足)场景。 ## 文档更新 - 新增 LayerNormONNXFusionPass.md、LayerNormONNXMULFusionPass.md 设计文档及 14 张配图 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9915 | 4 天前 | |
迁移 LayerNormONNXFusionPass 与 LayerNormONNXMULFusionPass 两条融合规则 Co-authored-by: wangpengbo26<wangpengbo26@huawei.com> # message auto-generated for no-merge-commit merge: !9915 merge layer_norm_pass_2 into master 迁移 LayerNormONNXFusionPass 与 LayerNormONNXMULFusionPass 两条融合规则 Created-by: wangpengbo26 Commit-by: wangpengbo26 Merged-by: cann-robot Description: ## 描述 迁移 LayerNormONNXFusionPass 与 LayerNormONNXMULFusionPass 两条 GE 自定义融合规则至本仓库,将 ONNX 导入的 LayerNorm 展开图融合为 LayerNorm / LayerNormV3 算子,减少图执行时的算子下发数量和中间结果访存。同步补充设计文档、配图和 UT。 ### 改动原因 ONNX 导入的 LayerNorm 在 GE 图中以展开形式存在(ReduceMean、Sub、Pow、Add、Sqrt、Div 等基础算子组合),算子下发数量多、中间结果访存开销大。两条 ONNX 融合规则迁移至本仓库统一维护,匹配后替换为 LayerNorm / LayerNormV3 算子节点,提升执行性能。 ### 改动方法 1. **LayerNormONNXFusionPass**:识别 ONNX 导入的 ReduceMean、Sub、Pow(或 Square)、Add、Sqrt、Div 等小算子组合,融合为 LayerNorm 算子。支持 6 种场景:带/不带 gamma 和 beta、平方计算前带 Cast、开方前经 Max+Min / Min+Max 数值裁剪;带 gamma 和 beta 时同时融合末尾的 Mul 和 Add。不带 gamma/beta 时创建全 1 gamma 和全 0 beta 常量。 2. **LayerNormONNXMULFusionPass**:识别 ReduceMean、两个独立 Sub、Mul(或 Pow)、Add、Sqrt(或 Pow)、Div 等组合,融合为 LayerNormV3 算子。支持 4 种场景:Mul/Pow 计算平方、带/不带 gamma 和 beta;另支持 Rsqrt 替代 Pow(0.5)。 3. **设计文档**:新增 LayerNormONNXFusionPass.md 和 LayerNormONNXMULFusionPass.md,描述融合模式(14 张配图)、使用约束(axes/keep_dims、Sub 位置、Cast/Div 限制、epsilon/Pow 指数常量约束、内部节点不复用等)、支持的型号(Ascend 950PR/950DT)。 4. **UT**:LayerNormONNXFusionPassTest 12 个用例、LayerNormONNXMULFusionPassTest 12+ 个用例,覆盖融合成功(Pow/Square、Div/RealDiv、Cast、Max/Min 裁剪、共享 axes const、gamma 输入位置交换)与不融合场景(不支持平台、keep_dims=false、Pow 指数非 2、epsilon 过大、中间节点有外部消费者等)。 5. **math_proto_stub.cpp**(+165):新增 Pow、Square、Sqrt、Maximum、Minimum、RealDiv、Div 算子原型 stub,供 UT 构图使用。 涉及文件(23 个,+3287): - norm/layer_norm/op_graph/fusion_pass/layer_norm_onnx_fusion_pass.cpp(新增,+815) - norm/layer_norm/op_graph/fusion_pass/layer_norm_onnx_fusion_pass.h(新增,+33) - norm/layer_norm/op_graph/fusion_pass/layer_norm_onnx_mul_fusion_pass.cpp(新增,+693) - norm/layer_norm/op_graph/fusion_pass/layer_norm_onnx_mul_fusion_pass.h(新增,+33) - norm/layer_norm/docs/LayerNormONNXFusionPass.md(新增,+75) - norm/layer_norm/docs/LayerNormONNXMULFusionPass.md(新增,+58) - docs/zh/figures/layer_norm_onnx_fusion_pass_1~8.png(新增) - docs/zh/figures/layer_norm_onnx_mul_fusion_pass_1~6.png(新增) - norm/layer_norm/tests/ut/op_graph/test_layer_norm_onnx_fusion_pass.cpp(新增,+709) - norm/layer_norm/tests/ut/op_graph/test_layer_norm_onnx_mul_fusion_pass.cpp(新增,+664) - common/stub/op_graph/math_proto_stub.cpp(+165) ## 关联的Issue - https://gitcode.com/cann/ops-nn/issues/6115 ## 测试 - LayerNormONNXFusionPassTest:12 个 UT 用例。 - LayerNormONNXMULFusionPassTest:12+ 个 UT 用例。 - 覆盖融合成功与不融合(约束不满足)场景。 ## 文档更新 - 新增 LayerNormONNXFusionPass.md、LayerNormONNXMULFusionPass.md 设计文档及 14 张配图 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9915 | 4 天前 | |
modified md files (modified the product name and link path) Co-authored-by: duhuiping<duhuiping@h-partners.com> # message auto-generated for no-merge-commit merge: !11029 merge master into master modified md files (modified the product name and link path) Created-by: gitee-duhuiping Commit-by: duhuiping Merged-by: cann-robot Description: ## 描述 Changed the product name and link path ## 关联的Issue [#6092](https://gitcode.com/cann/ops-nn/issues/6092) ## 测试 Only involves updating the MD document description, does not involve testing. ## 文档更新 md files ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!11029 | 5 天前 | |
docs: supplement GEIR documentation for layer_norm operators Co-authored-by: rk<wangpengbo26@huawei.com> # message auto-generated for no-merge-commit merge: !10467 merge ln_geir_doc into master docs: supplement GEIR documentation for layer_norm operators Created-by: wangpengbo26 Commit-by: rk Merged-by: cann-robot Description: ## 描述 为 5 个 layer_norm 系列算子补充 Ascend IR(GEIR)文档和图模式调用示例,并更新 README 中的图模式调用链接。 ### 改动原因 layer_norm、layer_norm_v3、layer_norm_v4、layer_norm_grad、layer_norm_grad_v3 算子此前缺少 Ascend IR 文档,README 中图模式调用链接为空或指向算子 IR 原型头文件,无法指导用户通过 Ascend IR 构图方式调用算子。 ### 改动方法 1. **新增 Ascend IR 文档**(docs/ascendirXxx.md,5 篇): - 产品支持情况、功能说明、计算公式 - 参数说明(输入/输出/属性,含数据类型和数据格式) - 约束说明、调用示例(含错误处理宏 CHECK_RET/LOG_PRINT 与 GetGeError 错误信息获取) 2. **GEIR 调用示例**: - 新增 layer_norm_grad、layer_norm_grad_v3、layer_norm_v4 示例 - 重构 layer_norm、layer_norm_v3 示例(统一代码结构,精简冗余) 3. **README 更新**(5 个): - 图模式调用链接从"-"或"算子 IR 原型头文件"更新为指向 Ascend IR 文档和示例代码 - layer_norm_grad:产品支持表更新(Atlas A3/A2 训练/推理系列由 × 改为 √),公式格式清理 涉及文件(15 个,+2961 -567): | 算子 | 文档(新增) | 示例 | README | |------|--------------|------|--------| | layer_norm | ascendirLayerNorm.md(+335) | test_geir_layer_norm.cpp(+203 -277 重构) | +1 -1 | | layer_norm_v3 | ascendirLayerNormV3.md(+335) | test_geir_layer_norm_v3.cpp(+204 -262 重构) | +2 -2 | | layer_norm_v4 | ascendirLayerNormV4.md(+353) | test_geir_layer_norm_v4.cpp(+267 新增) | +2 -2 | | layer_norm_grad | ascendirLayerNormGrad.md(+355) | test_geir_layer_norm_grad.cpp(+262 新增) | +16 -16 | | layer_norm_grad_v3 | ascendirLayerNormGradV3.md(+355) | test_geir_layer_norm_grad_v3.cpp(+264 新增) | +7 -7 | ## 关联的Issue 不涉及 ## 测试 文档和示例代码补充,不涉及算子功能逻辑变更。 ## 文档更新 - 新增 5 篇 Ascend IR 文档(ascendirLayerNorm / ascendirLayerNormV3 / ascendirLayerNormV4 / ascendirLayerNormGrad / ascendirLayerNormGradV3) - 新增 3 个 GEIR 调用示例,重构 2 个示例(layer_norm、layer_norm_v3) - 更新 5 个 README(图模式链接、产品支持表、公式格式) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!10467 | 6 天前 |