| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
KthValue需要指定ND格式以修复降维时报错 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !4284 merge fixkth into master KthValue需要指定ND格式以修复降维时报错 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 修复了 KthValue 算子在降维场景下因输出tensor格式不匹配导致的报错问题。原实现中,输出tensor values 和 indices 直接沿用了输入tensor的 ViewFormat,但在降维后输出维度减少,沿用原格式会导致shape与format不一致。改为强制指定 op::Format::FORMAT_ND 格式,确保输出tensor的格式与降维后的shape正确对应。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2405 ## 测试 1 二级冒烟通过 2 kthvalue st通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4284 | 1 个月前 | |
sort cleancode处理 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !4135 merge codecheck into master sort cleancode处理 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 1. 魔法数字消除:2/3/4/6/2048 等字面量替换为 DOUBLE_BUFFER_NUM、MERGE_LIST_MAX_NUM、ONE_CORE_DATA_SIZE 等具名常量,涉及 17+ 处 2. 函数提取:BuildSortGraph()、SelectAndFinalizeKthValueRoute()、FillRadixKernelResources()、LaunchSortKernel() 等 6 个 helper 函数从主流程中提取,减少重复 3. sort_apt.cpp 重构:内核派发链由 if constexpr + return 改为 if/else if,拆出 LaunchRadixMoreCore/LaunchMergeSortRoute 模板 4. Lambda 捕获修复:[&] → [&info, &computeBatchNum](sort_tiling_common.cpp:1168) 5. 格式化统一:const_cast<type> 间距、缩进(2→4空格)、注释对齐、文件末尾换行补全,涉及 30+ 文件 ## 关联的Issue 不涉及 ## 测试 1 sort sort_with_index top_k_v2 kth_value 全量ST通过 2 二级冒烟通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:格式和风格调整 See merge request: cann/ops-math!4135 | 1 个月前 | |
refactor: 将arch35算子kernel中MicroAPI接口统一迁移为Reg接口 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !4187 merge master into master refactor: 将arch35算子kernel中MicroAPI接口统一迁移为Reg接口 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 将 math 模块下 80+ 算子的 arch35 kernel 实现从 MicroAPI 接口迁移为 Reg(寄存器)接口,统一编程范式。 ### 改动范围 涉及算子: abs, abs_grad, add_n, adjacent_difference, arg_max_with_value, assign_add, assign_sub, atan2, bitwise_xor, cast, cdist, cdist_grad, ceil, complex_abs, cummin, cumsum, div, dot, exp, eye, floor, floor_div, floor_mod, fused_mul_add_n, grouped_bias_add_grad, inv, is_close, kth_value, lerp, lin_space, log, log1p, logical_or, mod, nan_to_num, neg, pow, power, reciprocal, reduce_all, reduce_any, reduce_log_sum_exp, reduce_nansum, reduce_prod, reduce_var, right_shift, rint, round, rsqrt, rsqrt_grad, sign, signbit, sinh, sort, sort_with_index, tanh, tanh_grad, tensor_equal, top_k_v2, trunc, truncate_div 等 ### 改动方式 - 将 MicroAPI 调用替换为等价 Reg API 调用 - 适配 arch35(ascend950)指令集特性 - 保持算子功能不变 ## 测试 - 涉及算子全量回归测试 ## 类型标签 - [x] 重构 ## 关联的Issue - #2295 See merge request: cann/ops-math!4187 | 1 个月前 | |
feat: 补充kth_value算子L0级 UT Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !4067 merge feat/ut_kth_value into master feat: 补充kth_value算子L0级 UT Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: cann-robot Description: ## 描述 补充kth_value算子的op_api和op_host infershape级别单元测试,覆盖以下场景: - 各数据类型测试 - 不同维度测试 - 异常场景测试:nullptr输入输出、shape不匹配等 ## 关联的Issue #2465 ## 测试 - 编译验证:bash build.sh -u --soc=ascend950 --ops=kth_value --noexec 编译通过 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:UT补充 **关联 Issue:** #2465 See merge request: cann/ops-math!4067 | 1 个月前 | |
新增 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 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 |