| Files | Last commit | Last update |
|---|---|---|
feat(median): add Median/NanMedian and align NaN/signed-zero ordering Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !5104 merge median into master feat(median): add Median/NanMedian and align NaN/signed-zero ordering Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增 Ascend 950 Median/NanMedian 算子,并复用 KthValue 的多调度选择框架,避免为中位数复制完整排序实现。 主要改动: - 新增 Median/NanMedian 的 OpDef、L0 API、InferShape、arch35 Tiling、AICore kernel、simplified key、golden、UT 和 TTK 用例。 - 支持 float16、float32、bfloat16、int8/16/32/64、uint8/16/32/64;values 保持输入 dtype,indices 为 int64,约简维保留为 1。 - 在 KthValue tiling data 中增加 STATIC、PROPAGATE_NAN、IGNORE_NAN 三种模式: - Median 对浮点 NaN 采用传播语义; - NanMedian 按非 NaN 数量动态计算 lower-median rank; - 整数输入沿用静态 k 快路径,不增加 NaN 扫描。 - 抽取统一 KthValue kernel dispatch,使 insertion、two-stage、merge、radix-select 和非末轴 small-axis 等 schedule 可由三个算子共享。 - 为多核动态 rank 路径补充对齐的 per-core count workspace,并保持原算法 workspace 布局。 - 完善 Sort/KthValue 公共逻辑中的 canonical NaN key、重复值与 signed-zero 稳定源顺序;同步补充 Sort、KthValue、TopKV2 golden 和回归用例。 详细设计、语义和约束见关联 Issue。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2968 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - Median/NanMedian/KthValue/Sort 累计677个ST用例通过 - 二级冒烟通过 - aclnnMedianDim,aclnnNanMedianDim 的门槛用例均通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5104 | 2 months ago | |
新增 kthvalue 算子 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !3174 merge master into master 新增 kthvalue 算子 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 新增 KthValue 算子,重构 sort 公共逻辑 1. 新增 KthValue 算子,支持沿指定维度查找第 k 小值及其索引。支持数据类型:float16、float32、bfloat16、int8、int16、int32、int64、uint8、uint16、uint32、uint64,支持 last-axis 和 non-last small-axis(轴长 ∈ 2, 2048)两种场景。 2. 实现多策略 Tiling 路由:small axis insertion / two-stage、radix one-core / more-core、merge sort one-core / more-core、merge intra-core、non-last small axis、axis-one copy(axis=1 特化)。 3. 将 sort 算子的公共排序逻辑抽取到 sort/op_kernel/arch35/common/ 和 sort/op_host/arch35/sort_tiling_common.{h,cpp},供 kth_value 复用,包括 radix sort、merge sort、small axis、non-last small axis 等 base 类。 4. 新增 kth_value 的 tiling UT 和 infershape UT。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2018 ## 测试 1 sort算子原始250+ST用例全部通过 2 sort算子新增80+ 非尾轴排序ST用例全部通过 3 kthvalue算子新增100+ ST用例,涵盖各个模板,全部通过 4 topkv2,sort_with_index ST用例全部通过 5 二级冒烟通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3174 | 4 months ago | |
新增 kthvalue 算子 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !3174 merge master into master 新增 kthvalue 算子 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 新增 KthValue 算子,重构 sort 公共逻辑 1. 新增 KthValue 算子,支持沿指定维度查找第 k 小值及其索引。支持数据类型:float16、float32、bfloat16、int8、int16、int32、int64、uint8、uint16、uint32、uint64,支持 last-axis 和 non-last small-axis(轴长 ∈ 2, 2048)两种场景。 2. 实现多策略 Tiling 路由:small axis insertion / two-stage、radix one-core / more-core、merge sort one-core / more-core、merge intra-core、non-last small axis、axis-one copy(axis=1 特化)。 3. 将 sort 算子的公共排序逻辑抽取到 sort/op_kernel/arch35/common/ 和 sort/op_host/arch35/sort_tiling_common.{h,cpp},供 kth_value 复用,包括 radix sort、merge sort、small axis、non-last small axis 等 base 类。 4. 新增 kth_value 的 tiling UT 和 infershape UT。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2018 ## 测试 1 sort算子原始250+ST用例全部通过 2 sort算子新增80+ 非尾轴排序ST用例全部通过 3 kthvalue算子新增100+ ST用例,涵盖各个模板,全部通过 4 topkv2,sort_with_index ST用例全部通过 5 二级冒烟通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3174 | 4 months ago | |
feat(median): add Median/NanMedian and align NaN/signed-zero ordering Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !5104 merge median into master feat(median): add Median/NanMedian and align NaN/signed-zero ordering Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增 Ascend 950 Median/NanMedian 算子,并复用 KthValue 的多调度选择框架,避免为中位数复制完整排序实现。 主要改动: - 新增 Median/NanMedian 的 OpDef、L0 API、InferShape、arch35 Tiling、AICore kernel、simplified key、golden、UT 和 TTK 用例。 - 支持 float16、float32、bfloat16、int8/16/32/64、uint8/16/32/64;values 保持输入 dtype,indices 为 int64,约简维保留为 1。 - 在 KthValue tiling data 中增加 STATIC、PROPAGATE_NAN、IGNORE_NAN 三种模式: - Median 对浮点 NaN 采用传播语义; - NanMedian 按非 NaN 数量动态计算 lower-median rank; - 整数输入沿用静态 k 快路径,不增加 NaN 扫描。 - 抽取统一 KthValue kernel dispatch,使 insertion、two-stage、merge、radix-select 和非末轴 small-axis 等 schedule 可由三个算子共享。 - 为多核动态 rank 路径补充对齐的 per-core count workspace,并保持原算法 workspace 布局。 - 完善 Sort/KthValue 公共逻辑中的 canonical NaN key、重复值与 signed-zero 稳定源顺序;同步补充 Sort、KthValue、TopKV2 golden 和回归用例。 详细设计、语义和约束见关联 Issue。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2968 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - Median/NanMedian/KthValue/Sort 累计677个ST用例通过 - 二级冒烟通过 - aclnnMedianDim,aclnnNanMedianDim 的门槛用例均通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5104 | 2 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 2 months ago | ||
| 4 months ago | ||
| 4 months ago | ||
| 2 months ago |