已合并
TopkV2算子性能优化 #2821
TopkV2算子性能优化 #2821
已合并
cy_hw创建于 5月19日
cy_hw
cy_hw成员
5月19日

描述

本次优化点主要有以下几个方面:

  1. 针对SingleBlock场景提高UB默认初始能处理的数据量,将原来的int64(5120)提高到10240,将原来的非int64数据初始两由7680提高到15360。此目的是扩大了单核SingleBlock处理的数据范围,让更多的数落入到该模板中。进过调整,性能最高可以提升50%左右;
  2. 针对SingleCore模板,将原来的int64(5120)提高到10240,将原来的非int64数据初始两由7680提高到15360。扩大了单核SingleCorek处理数据的能力,让更多的数落入到该模板中。进过调整,对于部分shape性能最高可以提升50%左右;
  3. 针对float32数据类型,将sort的moreCore模板核intraCore模板迁移过来,用来替代之前处理多核基数的场景,借助sort的模板能力进行topk的业务改造,性能最高可提升50%;
  4. 调整topk自身基数排序计算tileSize的逻辑,多核基数模板在处理超大尾轴时会出现tileSize自减到0的情况,当出现这种情况时,说明topk自身的多核基数模板不能进行处理,不应该抛出异常,而是由sortAndTopk模板进行超大尾轴处理;
  5. 将sortAndTopk模板的顺序调整到最后,增加容错处理。
  6. 调整TopKV2Tiling函数的结构,将不同场景的模板处理集中,让逻辑简单明了。

关联的Issue

https://gitcode.com/cann/ops-math/issues/1759

测试

ST测试,性能测试正常,David全量冒烟通过

文档更新

类型标签

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

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


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
math/sort 宋凯, wangrui_ (2/2) 宋凯 (1/1)
repo-cann/ops-math 宋凯, wangrui_ (2/2) 宋凯 (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成员
5月19日 添加了label:cann-cla/yes
CANN-robotCANN-robot成员
5月19日 将zhou-qilong,wangrui_,rxtfeng,loov1,zhangzijie,jia0liang,songkai111,llimwang,gubaocheng设为评审人
CANN-robotCANN-robot成员
5月19日 将zhou-qilong,wangrui_,rxtfeng,loov1,zhangzijie,jia0liang,songkai111,llimwang,gubaocheng设为审查人
此处折叠了299条消息 查看更多
RuiWang_成员
6月8日 评论:

/lgtm

likedislike
songkai111成员
6月8日 评论:

/lgtm
/approve

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