Merged
TopkV2算子代码优化 #6015
cy_hwAdd on Sep 28
TopkV2算子代码优化 #6015
Merged
Pull Request has been successfully merged by CANN-robot.
(Thank you for cy_hw's contribution.)atomgit-bot
Sep 28 Comments:
Sep 28 Comments:
变更摘要
本 PR 围绕 TopK 相关算子(top_k_v2、sort_with_index)的 host 侧 tiling 与 kernel 侧实现进行可读性与命名规范化整理。改动主要集中在 SortTileInfo 等结构体字段与常量的顺序/命名调整、tiling 计算函数中局部变量与形参的重命名,以及 kernel 侧 MergeSort、小轴插入/两阶段排序等模板类的参数与变量语义化命名。整体以代码清晰度优化为主,未改变对外接口语义。
主要改动
- tiling 数据结构与常量调整:
SortTileInfo(sort_with_index_tiling.h、top_k_v2_tiling_base.h)字段顺序与命名调整,新增/移动lastDimNeedCore、tmpUbSize等成员;新增UB_CONST_INT32、UB_CONST_INT64常量并重排TMP_UB、CONST_*等常量声明位置。 - 查找表与工具函数重命名:
tilingDataTypeKeyMap、tilingDataTypeBitMap、optDataTypeBitMap分别改名为tilingDtypeKeyLookup、tilingDtypeBitWidthLookup、optDtypeBitWidthLookup,CeilDiv1/CeilDivMul1形参改为dividend/divisor,并同步更新所有引用点。 - tiling 计算函数局部变量语义化:
ComputeTileData1、NeedAdjTileData1、TileMoreCoreModeOfIdx等函数中tileData、lastDimTileNum、coreNumNeed、sortLoopTimes等改为tileElemNum、axisTileCount、coresRequired、axisLoopCount等更明确命名,逻辑分支保持一致。 - host 声明重命名:
top_k_v2_tiling_base.h/.cpp中SelectSmallAxisRoute/SelectNonLastSmallAxisRoute改为PickTopkSmallAxisRoute/PickTopkNonLastSmallAxisRoute,CeilAlignUint32改为TopkCeilAlignUint32,并在top_k_v2_tiling_arch35.cpp调用处同步更新。 - kernel 侧模板类参数与变量重命名:
TopKMergeSortIntraCore::MergeOneGroup/MergeSingleBatch、TopKMergeSortMoreCore、TopKSmallAxisInsertion、TopKSmallAxisTwoStage等类的形参与局部变量(如numBlocks→pendingSegNum、batchId→batchIdx、validSegs→validSegCount、innerStart→innerTileStart)统一语义化命名,top_k_merge_sort.h的CopyValue2Gm中拷贝参数与 tensor 变量重命名。


Incorrect?
atomgit-bot
Sep 28 Comments:
Sep 28 Comments:
Sep 28 Added label: cann-cla/yes
CANN-robot
Sep 28 Comments:
Sep 28 Comments:
Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
You can self-configure the PR merge rules for this repository. For more details, please refer to Here.
For more, you also can visit HICANN.
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| 9.2.0 | ✅ gcw_kUomxQ2l, 宋恺 (2/2) | ✅ gcw_kUomxQ2l (1/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
caoyan_huawei, thanks for your pull request. All authors of the commits have signed the CLA. 👍


Sep 28 Set yue-ma,zhou-qilong,wangrui_,rxtfeng,loov1,zhangzijie,TianXL,jia0liang,zl_hw,songkai111,jiangtao_rts,gitcode-chenjiao,chenxingyu18,hanxiaolong,pingchuantang,llimwang,gubaocheng,andong_hw,xuejinghui,zhanw_coding,gcw_kUomxQ2l,Andy-lb,clinglai0517 as approver
Sep 28 Set yue-ma,zhou-qilong,wangrui_,rxtfeng,loov1,zhangzijie,TianXL,jia0liang,zl_hw,songkai111,jiangtao_rts,gitcode-chenjiao,chenxingyu18,hanxiaolong,pingchuantang,llimwang,gubaocheng,andong_hw,xuejinghui,zhanw_coding,gcw_kUomxQ2l,Andy-lb,clinglai0517 as approver
Sep 28 Set TianXL,jiangtao_rts,gitcode-chenjiao,hanxiaolong,gcw_kUomxQ2l,Andy-lb as approver
Sep 28 Set TianXL,jiangtao_rts,gitcode-chenjiao,hanxiaolong,gcw_kUomxQ2l,Andy-lb as approver
cy_hw
Sep 28 Comments:
Sep 28 Comments:
compile


Sep 28 Pre merge succeeded (commit_id: 21e191f5d4ea2235737d77bf7396f83f3a1906bb)
CANN-robot
Sep 28 Comments:
Sep 28 Comments:
| 🚀 CI 流水线已启动 |
|---|
| 📋 执行详情: 点击查看流水线 |


Sep 28 Added label: ci-pipeline-running
5 event messages are collapsed here。 See more
Sep 28 Modify description of pull request
songkai111
Sep 28 Comments:
Sep 28 Comments:
/lgtm


cpy_123456
Sep 28 Comments:
Sep 28 Comments:
lgtm


Sep 28 Modify description of pull request
Sep 28 Resolved final issue
liulun0308
Sep 28 Comments:
Sep 28 Comments:
/approve


Sep 28 Added label: lgtmapproved
Sep 28 Closed associated issue
Sep 28 Merged pull request
描述
本 PR 围绕 TopK 相关算子(top_k_v2、sort_with_index)的 host 侧 tiling 与 kernel 侧实现进行可读性与命名规范化整理。改动主要集中在 SortTileInfo 等结构体字段与常量的顺序/命名调整、tiling 计算函数中局部变量与形参的重命名,以及 kernel 侧 MergeSort、小轴插入/两阶段排序等模板类的参数与变量语义化命名。整体以代码清晰度优化为主,未改变对外接口语义。
关联的Issue
https://gitcode.com/cann/ops-math/issues/3341
测试
二级冒烟,ST测试通过
文档更新
类型标签