| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor: 迁移 TF 插件注册至新框架 API(part 3) Co-authored-by: Nice_try<zhangzhiwei108@huawei.com> # message auto-generated for no-merge-commit merge: !9758 merge tf-plugin-part3 into master refactor: 迁移 TF 插件注册至新框架 API(part 3) Created-by: Nice_try Commit-by: Nice_try Merged-by: cann-robot Description: ## 描述 将 TF 框架侧自定义算子注册(REGISTER_CUSTOM_OP)从旧工具链迁移至 ops-nn 新仓(TF 插件迁移 part 3),共新增/调整 22 个 *_tf_plugin.cpp 注册文件。 ### 改动原因 1. 旧注册 API(ParseParamsFn/AutoMappingFn)与标量 OriginOpType({...}) 写法在新工具链已不适用,统一迁移为 ParseParamsByOperatorFn(AutoMappingByOpFn) 与 OriginOpType(std::vector<ge::AscendString>{...}) 形式; 2. 依赖 TF protobuf NodeDef(node_def.pb.h)的旧解析逻辑在新工具链中已不存在,相关解析改为基于 ge::Operator 的子图分解(ParseOpToGraphFn/FusionParseParamsFn)实现; 3. 承接本仓已完成的 TF 插件迁移 part 1/2,补齐剩余算子的 TF 注册。 ### 改动方法 按模块汇总: - common:新增 AscendWeightQuant(TF 字符串 dst_type 到 ge DataType 的转换解析)、GatherPoint(分解为 GatherV2+Const 子图)、GatherPointGrad(分解为 ScatterUpdate 子图)注册; - index:gather_v2 新增 Gather/ResourceGather 到自定义 Gather 的注册;scatter_add/scatter_sub 新增 TensorScatterAdd/TensorScatterSub 注册;新增 BroadcastGradientArgs、SparseSegmentMean、SparseSegmentMeanGrad、SparseSlice、SparseToDense 注册; - norm:BNInfer/BNTrainingReduceGrad/BNTrainingUpdateGrad/LayerNorm/LayerNormGrad 由 ParseParamsFn 迁移到 ParseParamsByOperatorFn;LayerNorm/LayerNormGrad 增补 FusedLayerNorm/FusedLayerNormGrad 双 origin 映射;bn_training_update_v2 新增 BNTrainingUpdate 注册; - optim:ApplyAdagrad 迁移新 API(保留 ApplyAdagrad/ResourceApplyAdagrad 双 origin); - matmul:新增 Einsum 注册; - rnn:新增 BlockLSTM(分解为 DynamicRNN 子图,含 seq_length 的 Cast 与输出重排)、DynamicRNN 融合解析(FusionParseParamsFn)与 DynamicRnn 注册、DynamicRNNV2/DynamicRnnV2 系列注册(含 is_misplaced 属性处理)。 ## 关联的Issue 关联 Issue #5505:https://gitcode.com/cann/ops-nn/issues/5505 ## 测试 本 PR 仅涉及注册/图解析代码迁移,无测试文件变更;依赖仓内 CI(编译、静态检查、UT/ST 工作流)验证。 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:TF 插件注册迁移(part 3) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9758 | 1 个月前 | |
Fix InplaceAdd/Sub 融合规则按SOC分级校验扩展dtype Co-authored-by: gh_M<meiguohan@huawei.com> # message auto-generated for no-merge-commit merge: !9370 merge FusionPass into master Fix InplaceAdd/Sub 融合规则按SOC分级校验扩展dtype Created-by: gh_M Commit-by: gh_M Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> InplaceAdd、InplaceSub算子在A3上执行,int8/uint8/bf16输入场景下,迁移后融合规则误判生效,导致基础用例执行失败 将dtype校验逻辑按照 SoC 分级改造,将 dtype 白名单拆分为「基础集合」(DT_FLOAT16、DT_FLOAT、DT_INT32,所有非 Ascend310 平台通用)和「扩展集合」(DT_INT8、DT_UINT8、DT_BF16,在未注册对应 kernel 的老芯片上通过黑名单排除) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4800 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> geir测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9370 | 1 个月前 | |
Feature: 为 index 和 pooling 类算子新增 Ascend350 平台支持 Co-authored-by: klein8793<zhangli24@huawei.com> # message auto-generated for no-merge-commit merge: !9754 merge dev_zl_2026_0902 into master Feature: 为 index 和 pooling 类算子新增 Ascend350 平台支持 Created-by: klein8793 Commit-by: klein8793 Merged-by: cann-robot Description: ## 描述 为 index 和 pooling 类算子新增 Ascend350 平台支持。具体变更包括: 1. **新增 Ascend350 平台配置文件**(42 个 JSON):为每个算子新增 op_host/config/ascend350/ 下的二进制配置 JSON 2. **注册 Ascend350 平台**:在各算子 _def.cpp 中添加 his->AICore().AddConfig(ascend350, aicoreConfig) 3. **更新编译配置**:修改各算子 CMakeLists.txt,添加 Ascend350 编译选项;更新 scendc_config.json 中对应算子的 compute_units 列表,将 [ascend950] 扩展为 [ascend950, ascend350] 4. **更新 Fusion Pass 平台判断**:在 bucketize_v2_fusion_pass、inplace_add_fusion_pass、gather_fusion_pass、tensor_scatter_add_fusion_pass、sorted_sparse_segment_mean_grad_fusion_pass 中将 Ascend350 加入平台白名单 涉及算子(35+): - index: bucketize_v2, concat_offset, gather_elements, gather_nd, gather_v2, index_fill, index_fill_d, index_put_v2, inplace_index_add, inplace_index_fill, linear_index_v2, masked_scatter, repeat_interleave, reverse_sequence, reverse_v2, scatter, scatter_add, scatter_add_with_sorted, scatter_elements, scatter_elements_v2, scatter_nd, scatter_nd_add, scatter_nd_max, scatter_nd_min, scatter_nd_update, scatter_sub, scatter_update, segment_sum, sorted_sparse_segment_mean_grad, sparse_segment_mean, sparse_to_dense, unsorted_segment_max, unsorted_segment_min - pooling: avg_pool, avg_pool_v2 - 公共库: scatter_nd_common, unsorted_segment_common, sort_lib ## 关联的Issue - #5651 ## 测试 obp冒烟、david冒烟已通过 ## 文档更新 NA ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!9754 | 26 天前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 3 个月前 | |
Fix InplaceAdd/Sub 融合规则按SOC分级校验扩展dtype Co-authored-by: gh_M<meiguohan@huawei.com> # message auto-generated for no-merge-commit merge: !9370 merge FusionPass into master Fix InplaceAdd/Sub 融合规则按SOC分级校验扩展dtype Created-by: gh_M Commit-by: gh_M Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> InplaceAdd、InplaceSub算子在A3上执行,int8/uint8/bf16输入场景下,迁移后融合规则误判生效,导致基础用例执行失败 将dtype校验逻辑按照 SoC 分级改造,将 dtype 白名单拆分为「基础集合」(DT_FLOAT16、DT_FLOAT、DT_INT32,所有非 Ascend310 平台通用)和「扩展集合」(DT_INT8、DT_UINT8、DT_BF16,在未注册对应 kernel 的老芯片上通过黑名单排除) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4800 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> geir测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9370 | 1 个月前 | |
Feature: 为 index 和 pooling 类算子新增 Ascend350 平台支持 Co-authored-by: klein8793<zhangli24@huawei.com> # message auto-generated for no-merge-commit merge: !9754 merge dev_zl_2026_0902 into master Feature: 为 index 和 pooling 类算子新增 Ascend350 平台支持 Created-by: klein8793 Commit-by: klein8793 Merged-by: cann-robot Description: ## 描述 为 index 和 pooling 类算子新增 Ascend350 平台支持。具体变更包括: 1. **新增 Ascend350 平台配置文件**(42 个 JSON):为每个算子新增 op_host/config/ascend350/ 下的二进制配置 JSON 2. **注册 Ascend350 平台**:在各算子 _def.cpp 中添加 his->AICore().AddConfig(ascend350, aicoreConfig) 3. **更新编译配置**:修改各算子 CMakeLists.txt,添加 Ascend350 编译选项;更新 scendc_config.json 中对应算子的 compute_units 列表,将 [ascend950] 扩展为 [ascend950, ascend350] 4. **更新 Fusion Pass 平台判断**:在 bucketize_v2_fusion_pass、inplace_add_fusion_pass、gather_fusion_pass、tensor_scatter_add_fusion_pass、sorted_sparse_segment_mean_grad_fusion_pass 中将 Ascend350 加入平台白名单 涉及算子(35+): - index: bucketize_v2, concat_offset, gather_elements, gather_nd, gather_v2, index_fill, index_fill_d, index_put_v2, inplace_index_add, inplace_index_fill, linear_index_v2, masked_scatter, repeat_interleave, reverse_sequence, reverse_v2, scatter, scatter_add, scatter_add_with_sorted, scatter_elements, scatter_elements_v2, scatter_nd, scatter_nd_add, scatter_nd_max, scatter_nd_min, scatter_nd_update, scatter_sub, scatter_update, segment_sum, sorted_sparse_segment_mean_grad, sparse_segment_mean, sparse_to_dense, unsorted_segment_max, unsorted_segment_min - pooling: avg_pool, avg_pool_v2 - 公共库: scatter_nd_common, unsorted_segment_common, sort_lib ## 关联的Issue - #5651 ## 测试 obp冒烟、david冒烟已通过 ## 文档更新 NA ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!9754 | 26 天前 |