| feat: AddV2 算子 Ascend950 arch35 regbase 实现(无 aclnn 接口) Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !4362 merge add-v2-arch35-no-aclnn into master feat: AddV2 算子 Ascend950 arch35 regbase 实现(无 aclnn 接口) Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 在 math/add_v2/ 新建 AddV2 算子,实现 Ascend950 (arch35) regbase 版本的逐元素加法。基于 atvoss broadcast DAG 框架,支持 11 种 dtype(含 4 种混合精度组合),共 15 个预编译 binary。算子仅支持图模式调用,不提供 aclnn 接口。 ### 改动原因 ops-math 仓缺少 AddV2 算子的 Ascend950 (arch35) 实现。本 PR 在 math/add_v2/ 新建算子,仅包含 950 arch35 regbase 实现。 ### 改动方法 - op_host: def(单一 950 配置)、infershape(broadcast)、arch35 tiling(BroadcastBaseTiling 框架分发) - op_kernel/arch35: kernel entry(BroadcastSch)、dag(4 种 Compute: AddWithoutCast/AddWithCast/AddMixDtype/AddBool)、struct(tiling key 声明) - op_graph: proto.h(REG_OP(AddV2))、graph_infer(类型提升推导 PromoteType 查表) - tests/assets/golden.py: kernel 模式 golden(bool 语义 logical_or) - CMakeLists.txt: ACLNNTYPE 配置为 aclnn_exclude,不生成 aclnn 接口 - tiling 校验使用 OP_LOGE_FOR_INVALID_* 结构化宏 ### 产品支持情况 - Ascend 950PR/950DT: 本 PR 实现 - A2/A3/推理/训练系列: 通过 canndev Add 算子复用支持(tf_plugin 将 AddV2 映射到 Add) ## 关联的Issue - #2379 ## 测试 - TTK kernel 990/990 precision PASS - 三方性能 200/200 全部达标 - ophost UT 21/21 PASS(覆盖全部 11 种 dtype) - run_example graph 模式 PASS ## 文档更新 - README.md: 算子对外资料(产品支持情况、参数说明、约束说明、调用说明) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4362 | 1 个月前 |