| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 27 天前 | |
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 | 29 天前 | |
feat(sort): 小轴场景排序性能优化,新增3个kernel并优化已有策略 Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !2843 merge master into master feat(sort): 小轴场景排序性能优化,新增3个kernel并优化已有策略 Created-by: ConanHuang Commit-by: ConanHuang Merged-by: cann-robot Description: ## 描述 ### 背景 Sort 算子在排序轴长度较小(small axis)时,原有大核策略(radix sort / merge sort)存在并行度不足、资源利用率低的问题,导致小轴场景性能退化。 ### 主要变更 **新增 3 个 Kernel:** - **SortAxisOneCopy**:axis=1 快路径,直接 DataCopy 搬运,跳过排序流程 - **SortSmallAxisInsertion**:SIMT 256 线程并行插入排序,适合几十以内的小轴 - **SortSmallAxisTwoStage**:两阶段排序(radix → rank-inverse/二次排序),batch 级并发,适合几十到几百的中等轴 **已有 Kernel 优化:** - **MergeSort**:新增 Sort32 编译期优化(Sort32 API + Extract repeatTimes=1 硬件快速路径) - **MergeSortBigSize**:支持多行并行,新增每行独立 workspace 分区(rowIdx/rowDataOffset),blockIdx 替换为 rowCoreIdx - **RadixSortMoreCore**:排序后 8bit 值通过 Queue 传递,ScatterKeysGlobal 直接使用 sortedValueLocal,优化UB访问 - **RadixSortOneCore**:新增双缓冲支持(bufferNum 从 tiling 动态配置) **重命名 Kernel:** - SortMergeBigBatch → SortMergeIntraCore(体现 core 内 block merge 真实语义) **Tiling 路由重构:** - 新增 schId 5-8 及对应 tiling key selector(INSERTION / TWO_STAGE / AXIS_ONE_COPY) - schId 0 与 schId 8 合并路由,通过 isSort32SmallAxis 标志控制 Sort32 优化 - 增加 uint64 溢出保护,标准化 CeilDiv/CeilDivMul 为 Ops::Base 版本 - ONE_CORE_DATA_SIZE 从 1024 调整为 2048 - IsSortMergeMultiCore 扩展支持 unsortDimNum > 1 多行场景 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1612 ## 测试 1. 新增117用例覆盖边界场景和性能采集,精度通过,性能达标 2. 原始155用例精度验证通过,性能提升或者持平 3. 二级冒烟通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2843 | 2 个月前 | |
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 | 29 天前 | |
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 | 27 天前 | |
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 | 27 天前 | |
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 | 27 天前 | |
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 | 29 天前 | |
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 | 29 天前 | |
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 | 29 天前 | |
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 | 29 天前 | |
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 | 29 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 27 天前 | ||
| 29 天前 | ||
| 2 个月前 | ||
| 29 天前 | ||
| 27 天前 | ||
| 27 天前 | ||
| 27 天前 | ||
| 29 天前 | ||
| 29 天前 | ||
| 29 天前 | ||
| 29 天前 | ||
| 29 天前 |