| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: 修复多个算子样例编译问题 Co-authored-by: xujiachen8<xujiachen8@h-partners.com> # message auto-generated for no-merge-commit merge: !5867 merge fix-issue-3158-examples-master-latest-20260920T074454Z into master fix: 修复多个算子样例编译问题 Created-by: xujiachen8 Commit-by: xujiachen8 Merged-by: cann-robot Description: ## 关联 Issue Refs #3158 ## 修改说明 - 修正 concat 样例使用的算子类型。 - 修正 dynamic_stitch 样例的动态输入构造与设置方式。 - 修正 fills 样例的 shape 容器类型。 - 修正 stateless_random_choice_with_mask 样例的头文件依赖和输入参数。 - 更新 stateless_random_uniform_v3 样例以匹配当前执行器接口。 本次变更仅涉及样例代码,不新增或修改算子定义、接口及实现。 ## 验证 - pre-commit run --files <本 PR 的 5 个文件>:通过 - bash build.sh --run_example concat graph --soc=ascend950 --noexec:通过 - bash build.sh --run_example dynamic_stitch graph --soc=ascend950 --noexec:通过 - bash build.sh --run_example fills graph --soc=ascend950 --noexec:通过 - bash build.sh --run_example stateless_random_choice_with_mask graph --soc=ascend950 --noexec:通过 - bash build.sh --run_example stateless_random_uniform_v3 eager --soc=ascend950 --noexec:通过 当前 master 分支相关样例的编译问题已修复。 See merge request: cann/ops-math!5867 | 10 天前 | |
feat: 新增 DynamicStitch 算子实现 Co-authored-by: 王荀<wangxun21@huawei.com> # message auto-generated for no-merge-commit merge: !1633 merge dynamic_stitch_fix into master feat: 新增 DynamicStitch 算子实现 Created-by: wangxun21 Commit-by: wangxun21;王荀 Merged-by: cann-robot Description: ## 描述 本 PR 新增了 DynamicStitch 算子的完整实现,该算子与 TensorFlow 的 DynamicStitch 算子兼容。 DynamicStitch 算子用于将多个张量的数据交织到单个张量中,支持多种数据类型。 ### 改动原因 支持 TensorFlow 模型中 DynamicStitch 算子的迁移,丰富 ops-math 仓库的算子支持范围。 ### 改动方法 1. 新增算子原型定义(op_graph/dynamic_stitch_proto.h) 2. 新增 host 侧实现: - 算子属性配置(op_host/dynamic_stitch_def.cpp) - Tiling 配置(op_host/config/ascend950/) 3. 新增 kernel 侧实现: - 通用头文件(op_kernel/arch35/dynamic_stitch_common.h) - Indices 去重(op_kernel/arch35/dynamic_stitch_indices_deduplicate.h) - SIMD/SIMT 实现(op_kernel/arch35/) 4. 新增单元测试(tests/ut/) 5. 新增示例代码(examples/test_geir_dynamic_stitch.cpp) ## 关联的Issue - #998 ## 测试 - 已添加单元测试 test_dynamic_stitch_tiling.cpp - 已添加示例代码 test_geir_dynamic_stitch.cpp ## 文档更新 无 ## 类型标签 - [x] 新特性 See merge request: cann/ops-math!1633 | 6 个月前 | |
bincount等5个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !5585 merge ascend350_adapt_w2 into master bincount等5个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 5个算子新增ascend350平台支持:bincount、range、adjacent_difference、dynamic_stitch、atan2。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象 - CMakeLists:SUPPORT_COMPUTE_UNIT/SUPPORT_TILING_DIR 增加 ascend350/arch35 - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(dynamic_stitch 上游命名为 dynamic_stitch.json,维持原名) - scripts/kernel/binary_config/ascendc_config.json:仅对 json 中已有条目的算子修改(bincount/range/adjacent_difference 三条目 compute_units 加 ascend350,compile_options 与 ascend950 逐项相同);原无条目的算子(dynamic_stitch/atan2)不新增登记,避免影响默认编译选项行为 ## 测试 A5(Ascend950PR)环境实测: - bash build.sh --pkg --soc=ascend350 --ops=<op> --vendor_name=customize -j4 编译验证:5/5 算子通过(产物 .o、run 包产出、json 选项注入均验证;dynamic_stitch 用 --soc=ascend950 对照编译确认两侧产物同构) - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3138 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化 - 规则:不允许 SocVersion 区间判断隐式覆盖芯片,950/350 需显式 IsRegBase() 判断,不再依赖枚举顺序副作用 - 本 MR 涉及 1 处(math/atan2/op_api/aclnn_atan2.cpp GetDtypeSupportList,master 未覆盖,由本 MR 修改);bincount/range/adjacent_difference/dynamic_stitch 复查无区间判断违规(range 的等值判断链均已带 IsRegBase()) - 改法:保留原 [ASCEND910B, ASCEND910E] 区间(覆盖 910B/910C/910E),或逻辑增加 IsRegBase()(显式覆盖 regbase 芯片) - 行为零变化:950 原区间命中(true)→现 IsRegBase()(true);350 原被区间覆盖(true)→现 IsRegBase()(true);910B/C/E 走原区间不变 - 分支已 rebase 至最新 upstream master ## op_graph 层适配 - 全量排查两波算子目录 op_graph 层(融合 pass/graph_infer/plugin) - 🔴 修复 1 处:range/op_graph/range_graph_infer.cpp:37 DOUBLE 输入降级 FLOAT 判断 == "Ascend950" 增加 || == "Ascend350"(原 350 上 DOUBLE 输入输出 DOUBLE,kernel 不支持,与 950 行为分叉) See merge request: cann/ops-math!5585 | 10 天前 | |
[kernel] dynamic_stitch histogram_v2 and one_hot modify simt api Co-authored-by: majiayuan<majiayuan1@huawei.com> # message auto-generated for no-merge-commit merge: !2483 merge master into master [kernel] dynamic_stitch histogram_v2 and one_hot modify simt api Created-by: majiayuan Commit-by: majiayuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据映射关系,统一将C++风格API替换为C风格API。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [Requirement|需求建议]: dynamic_stitch, histogram_v2 以及 one_hot SIMT算子整改原有cpp simt接口 [#1492](https://gitcode.com/cann/ops-math/issues/1492) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> SIMT API接口修改前后,反汇编得到的md5码相同。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2483 | 4 个月前 | |
补充算子st用例 Co-authored-by: gcw_CRjbEjwl<fengdaoyong@h-partners.com> # message auto-generated for no-merge-commit merge: !3513 merge 0624 into master 补充算子st用例 Created-by: gcw_CRjbEjwl Commit-by: gcw_CRjbEjwl Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1、新增算子st用例 2、修复bincout的标杆函数 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 不涉及 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地使用ttk测试,用例通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: See merge request: cann/ops-math!3513 | 3 个月前 | |
bincount等5个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !5585 merge ascend350_adapt_w2 into master bincount等5个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 5个算子新增ascend350平台支持:bincount、range、adjacent_difference、dynamic_stitch、atan2。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象 - CMakeLists:SUPPORT_COMPUTE_UNIT/SUPPORT_TILING_DIR 增加 ascend350/arch35 - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(dynamic_stitch 上游命名为 dynamic_stitch.json,维持原名) - scripts/kernel/binary_config/ascendc_config.json:仅对 json 中已有条目的算子修改(bincount/range/adjacent_difference 三条目 compute_units 加 ascend350,compile_options 与 ascend950 逐项相同);原无条目的算子(dynamic_stitch/atan2)不新增登记,避免影响默认编译选项行为 ## 测试 A5(Ascend950PR)环境实测: - bash build.sh --pkg --soc=ascend350 --ops=<op> --vendor_name=customize -j4 编译验证:5/5 算子通过(产物 .o、run 包产出、json 选项注入均验证;dynamic_stitch 用 --soc=ascend950 对照编译确认两侧产物同构) - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3138 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化 - 规则:不允许 SocVersion 区间判断隐式覆盖芯片,950/350 需显式 IsRegBase() 判断,不再依赖枚举顺序副作用 - 本 MR 涉及 1 处(math/atan2/op_api/aclnn_atan2.cpp GetDtypeSupportList,master 未覆盖,由本 MR 修改);bincount/range/adjacent_difference/dynamic_stitch 复查无区间判断违规(range 的等值判断链均已带 IsRegBase()) - 改法:保留原 [ASCEND910B, ASCEND910E] 区间(覆盖 910B/910C/910E),或逻辑增加 IsRegBase()(显式覆盖 regbase 芯片) - 行为零变化:950 原区间命中(true)→现 IsRegBase()(true);350 原被区间覆盖(true)→现 IsRegBase()(true);910B/C/E 走原区间不变 - 分支已 rebase 至最新 upstream master ## op_graph 层适配 - 全量排查两波算子目录 op_graph 层(融合 pass/graph_infer/plugin) - 🔴 修复 1 处:range/op_graph/range_graph_infer.cpp:37 DOUBLE 输入降级 FLOAT 判断 == "Ascend950" 增加 || == "Ascend350"(原 350 上 DOUBLE 输入输出 DOUBLE,kernel 不支持,与 950 行为分叉) See merge request: cann/ops-math!5585 | 10 天前 |