| TopkV2算子代码优化 Co-authored-by: caoyan_huawei<caoyan11@huawei.com> # message auto-generated for no-merge-commit merge: !5979 merge cy_br_923_youhua into master TopkV2算子代码优化 Created-by: caoyan_huawei Commit-by: caoyan_huawei Merged-by: cann-robot Description: ## 描述 本次改动主要围绕TopkV2算子的代码优化。针对 math/top_k_v2/op_host/arch35/top_k_v2_tiling_base.h 中 TopKV2 算子 tiling 相关辅助函数的声明进行代码整理,主要工作是统一并规范函数形参的命名风格,使参数名更简洁且语义更明确。改动仅涉及函数声明的形参名,未改变函数签名中的类型、返回值和调用契约,属于不影响外部行为的可读性优化。对应的9.2.0分支相关PR如下,全量全等同步。 1. https://gitcode.com/cann/ops-math/pull/6015 2. https://gitcode.com/cann/ops-math/pull/6036 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3345 ## 测试 二级冒烟,ST测试通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: See merge request: cann/ops-math!5979 | 1 month ago |
| sort_with_index算子开源 Co-authored-by: chensi888<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !632 merge master into master sort_with_index算子开源 Created-by: chensi79 Commit-by: chensi888 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!632 | 9 months ago |
| 实现SortedWithIndex算子支持索引INT64数据类型的功能 Co-authored-by: zhaopei16<zhaopei16@huawei.com> Co-authored-by: caoyan_huawei<caoyan11@huawei.com> # message auto-generated for no-merge-commit merge: !1150 merge sortWithIndexReuseSort into master 实现SortedWithIndex算子支持索引INT64数据类型的功能 Created-by: caoyan_huawei Commit-by: caoyan_huawei;zhaopei16 Merged-by: cann-robot Description: ## 描述 SortedWithIndex算子支持索引 INT64数据类型,当前需求主要实现两个功能: 1. 支持SortWithIndex算子在RadixSort算法模板下,当排序轴输入的数据个数超过int32范围(即:int32的最大值 2147483647)时的处理,其主体流程和Sort保持一致, 包括Cutsum,前缀和,统计直方图等关键逻辑。 2. 支持SortWiithIndex算子在MergeSort算法中小模板的输入索引为int64类型的场景处理。 ## 测试 UT全量测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1150 | 8 months ago |
| sort|sort_with_index|top_k_v2算子适配ascend960dt/ascend960pr Co-authored-by: tujun6<tujun6@huawei.com> # message auto-generated for no-merge-commit merge: !6202 merge add_960_sort into master sort|sort_with_index|top_k_v2算子适配ascend960dt/ascend960pr Created-by: tujun6 Commit-by: tujun6 Merged-by: cann-robot Description: ## 描述 本 PR 为 sort/sort_with_index/top_k_v2 三个算子适配 ascend960dt/ascend960pr 平台,使其能够在这两个平台上编译和运行。主要改动: - **算子定义注册**:在 math/sort/op_host/sort_def.cpp、math/sort_with_index/op_host/sort_with_index_def.cpp、math/top_k_v2/op_host/top_k_v2_def.cpp 中为 ascend960dt/ascend960pr 增加 AICore 配置(复用 ascend950 的 aicoreConfig) - **编译入口**:三个算子的 CMakeLists.txt 中 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt、ascend960pr(tiling 目录 arch35) - **二进制 kernel 配置**:新增 op_host/config/ascend960dt|ascend960pr 下的 *_binary.json 与 *_simplified_key.ini - **二进制编译注册**:scripts/kernel/binary_config/ascendc_config.json 中扩展 Sort/SortWithIndex/TopKV2 的 compute_units 至 ascend960dt/ascend960pr,并补充对应编译选项 -mllvm -cce-aicore-dcci-before-kernel-end=false ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3587 ## 测试 - 本地 pre-commit 全量检查通过(trailing-whitespace、end-of-file-fixer、check-json、clang-format、codespell 等全部 hook) - OAT 合规扫描通过(oat-py 1.0.3,PR 全部 19 个文件,License 头与文件类型违规均为 0) - 二进制 kernel 编译与算子精度验证依赖 CI 流水线及 ascend960 平台环境 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6202 | 26 days ago |
| [fix] 修复TopKV2 Scalar到Vector同步精度问题 Co-authored-by: zhanghedong<zhanghedong@huawei.com> Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !4961 merge fix/sortwithindex-vsf-sync into master [fix] 修复TopKV2 Scalar到Vector同步精度问题 Created-by: zhanghedong Commit-by: ConanHuang;zhanghedong Merged-by: cann-robot Description: ## 描述 本 PR 主要针对昇腾算子内核中统一缓存(UB)缓冲区的数据竞争问题,通过在关键写读节点之间显式插入标量/向量事件同步(SetFlag/WaitFlag),确保数据写入完成后再被读取,从而避免未定义行为。改动涉及 math/sort_with_index/op_kernel/arch35/radix_sort_with_index_multi_block.h 与 math/top_k_v2/op_kernel/arch35/radix_sort_top_k.h 两个文件,均只增加同步代码,无删除行。 **主要改动** - **radix_sort_with_index_multi_block.h 增加 HardEvent::V_S 同步**: 在 ScatterKeysGlobal 调用之后、释放 xIndexLocal 之前,通过 FetchEventID、SetFlag<HardEvent::V_S>、WaitFlag<HardEvent::V_S> 插入向量到标量的同步点,防止 UB 缓冲区的写后读竞争。 - **radix_sort_top_k.h 增加 HardEvent::S_V 同步**: 在计算 remainTileTopkValue_ 之后、执行 CopyUb2Ub 之前,通过 FetchEventID、SetFlag<HardEvent::S_V>、WaitFlag<HardEvent::S_V> 插入标量到向量的同步点,确保标量计算结果就绪后再被向量搬运操作使用。 - **两处同步均采用事件 ID 配对机制**: 两次改动都遵循先 FetchEventID 获取事件号、再 SetFlag 置位、后 WaitFlag 等待的完整配对流程,以相同模式在数据生产与消费之间建立可靠的硬件事件屏障。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2641 ## 测试 UT,ST,二级冒烟测试通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4961 | 2 months ago |
| feat: 补充sort_with_index算子L0级 UT Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !4084 merge feat/ut_sort_with_index into master feat: 补充sort_with_index算子L0级 UT Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: cann-robot Description: ## 描述 补充sort_with_index算子的op_api和op_host infershape级别单元测试,覆盖以下场景: - 各数据类型测试 - 不同维度测试 - 异常场景测试:nullptr输入输出、shape不匹配等 ## 关联的Issue ## 测试 - 编译验证:bash build.sh -u --soc=ascend950 --ops=sort_with_index --noexec 编译通过 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:UT补充 **关联 Issue:** #2371 See merge request: cann/ops-math!4084 | 3 months ago |
| sort|sort_with_index|top_k_v2算子适配ascend960dt/ascend960pr Co-authored-by: tujun6<tujun6@huawei.com> # message auto-generated for no-merge-commit merge: !6202 merge add_960_sort into master sort|sort_with_index|top_k_v2算子适配ascend960dt/ascend960pr Created-by: tujun6 Commit-by: tujun6 Merged-by: cann-robot Description: ## 描述 本 PR 为 sort/sort_with_index/top_k_v2 三个算子适配 ascend960dt/ascend960pr 平台,使其能够在这两个平台上编译和运行。主要改动: - **算子定义注册**:在 math/sort/op_host/sort_def.cpp、math/sort_with_index/op_host/sort_with_index_def.cpp、math/top_k_v2/op_host/top_k_v2_def.cpp 中为 ascend960dt/ascend960pr 增加 AICore 配置(复用 ascend950 的 aicoreConfig) - **编译入口**:三个算子的 CMakeLists.txt 中 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt、ascend960pr(tiling 目录 arch35) - **二进制 kernel 配置**:新增 op_host/config/ascend960dt|ascend960pr 下的 *_binary.json 与 *_simplified_key.ini - **二进制编译注册**:scripts/kernel/binary_config/ascendc_config.json 中扩展 Sort/SortWithIndex/TopKV2 的 compute_units 至 ascend960dt/ascend960pr,并补充对应编译选项 -mllvm -cce-aicore-dcci-before-kernel-end=false ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3587 ## 测试 - 本地 pre-commit 全量检查通过(trailing-whitespace、end-of-file-fixer、check-json、clang-format、codespell 等全部 hook) - OAT 合规扫描通过(oat-py 1.0.3,PR 全部 19 个文件,License 头与文件类型违规均为 0) - 二进制 kernel 编译与算子精度验证依赖 CI 流水线及 ascend960 平台环境 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6202 | 26 days ago |
| 产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago |