已合并
TopkV2算子代码优化 #6015
TopkV2算子代码优化 #6015
已合并
cy_hw创建于 9月28日
cy_hw
cy_hw成员
9月28日

描述

本 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测试通过

文档更新

类型标签

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 cy_hw 的贡献)
cy_hwcy_hw成员
9月28日 创建了 pull request,commit 5209d7e5
atomgit-bot
atomgit-bot
9月28日 评论:

变更摘要

本 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 变量重命名。
likedislike
不准确?
atomgit-bot
atomgit-bot
9月28日 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
CANN-robotCANN-robot成员
9月28日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
9月28日 评论:

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 /approve or /lgtm
  • Commenting /approve implies 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. 👍

likedislike
CANN-robotCANN-robot成员
9月28日 将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设为评审人
CANN-robotCANN-robot成员
9月28日 将TianXL,jiangtao_rts,gitcode-chenjiao,hanxiaolong,gcw_kUomxQ2l,Andy-lb设为审查人
cy_hw
cy_hw成员
9月28日 评论:

compile

likedislike
cy_hwcy_hw成员
9月28日 预合并成功(commit_id: 21e191f5d4ea2235737d77bf7396f83f3a1906bb)
CANN-robot
CANN-robot成员
9月28日 评论:
🚀 CI 流水线已启动
📋 执行详情: 点击查看流水线
likedislike
CANN-robotCANN-robot成员
9月28日 添加了label:ci-pipeline-running
此处折叠了5条事件消息 查看更多
cy_hwcy_hw成员
9月28日 修改了pull request 的描述
songkai111成员
9月28日 评论:

/lgtm

likedislike
cpy_123456
9月28日 评论:

lgtm

likedislike
BruceLP
BruceLP成员9月28日进行代码检视1
math/sort_with_index/op_host/arch35/sort_with_index_tiling.cpp
@@ -57,9 +57,9 @@ struct SortTileInfo {
5757 uint32_t dtypeSize = 0;
5858 uint32_t y2DtypeSize = 0;
5959 uint32_t maxCoreNum = 0;
60+ uint32_t lastDimNeedCore = 0;
BruceLP
BruceLP9月28日评论:

关联新issue

likedislike
cy_hwcy_hw成员
9月28日 修改了pull request 的描述
cy_hwcy_hw成员
9月28日 解决了最后一个问题
liulun0308成员
9月28日 评论:

/approve

likedislike
CANN-robotCANN-robot成员
9月28日 添加了label:lgtmapproved
CANN-robotCANN-robot成员
9月28日 关闭了关联的issue
CANN-robotCANN-robot成员
9月28日 合入了pull request