| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
TopkV2/SortWithIndex算子clearCode清理 Co-authored-by: caoyan_huawei<caoyan11@huawei.com> # message auto-generated for no-merge-commit merge: !4443 merge cy_br_clearCode_0803 into master TopkV2/SortWithIndex算子clearCode清理 Created-by: caoyan_huawei Commit-by: caoyan_huawei Merged-by: cann-robot Description: ## 描述 主要对 TopKV2 和 SortWithIndex 算子进行代码清理(clearCode),消除与标准库或其他命名空间可能的命名冲突,同时规范化变量命名、统一代码格式。核心动作是将 sort_with_index_common.h 中自定义的类型萃取模板(is_same、integral_constant、true_type/false_type)重命名为带 Sort 前缀的版本,并在所有引用处同步替换,避免与 std::is_same 等产生歧义。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2436 ## 测试 ST, UT, 二级冒烟测试通过 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: See merge request: cann/ops-math!4443 | 2 个月前 | |
topkv2算子支持小轴NonTranspose实现 Co-authored-by: caoyan_huawei<caoyan11@huawei.com> # message auto-generated for no-merge-commit merge: !3591 merge cy_br_625_non_transpose into master topkv2算子支持小轴NonTranspose实现 Created-by: caoyan_huawei Commit-by: caoyan_huawei Merged-by: cann-robot Description: ## 描述 【问题背景】Topk算子当前在非尾轴处理时,aclnn接口会进行处理前的1次对值进行Transpose操作,在得到值和索引结果之后,分别对值和索引进行Transpose操作。前置后置操作一共3次Transpose。从采集数据来看, 6.94 前置Transpose 3.079 Topk算子处理时间 3.759 对输出值进行Transpose 3.856 对输出索引进行Transpose 当前算子执行时间和Transpose占比18%左右,绝大部分时间消耗在Transpose操作上,大大拉低了Topk算子的性能。 【修改方案】 1. 对非尾轴处理,且非尾轴的数量在[2, 2048]范围内时,不在aclnn侧进行Transpose操作; 2. 在Kernel侧新增NonTranspose模板,结合RegTensor和DataCopyGather对数据进行转置操作; 3. 转置完成后调用Sort或者Topk的Api进行处理; 4. 处理完成后,再次对最终结果进行转置输出到GM; ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2085 ## 测试 ST,UT,二级冒烟,aclnn,单算子测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3591 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 3 个月前 |