已合并
TT量化场景支持StreamK #7449
chen-shuai创建于 7月13日
TT量化场景支持StreamK #7449
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 chen-shuai 的贡献)7月13日 创建了 pull request,commit 9161d683
Cchen-shuai
7月13日 update merge request[project id: 7665709, iid: 7449, commit_id: 58829557c8f613fc803e255f0a35b4c940001a30] virtual merging success
7月13日 update merge request[project id: 7665709, iid: 7449, commit_id: 58829557c8f613fc803e255f0a35b4c940001a30] virtual merging success
Cchen-shuai
7月13日 update merge request[project id: 7665709, iid: 7449, commit_id: 908c3f1532e97a08f49d0dd4a599a785c0725c34] virtual merging success
7月13日 update merge request[project id: 7665709, iid: 7449, commit_id: 908c3f1532e97a08f49d0dd4a599a785c0725c34] virtual merging success
7月13日 添加了label:cann-cla/yes
此处折叠了357条消息 查看更多
tangweiwei2
27 天前 评论:
27 天前 评论:
/lgtm
/approve


27 天前 添加了label:lgtm
27 天前 关闭了关联的issue
27 天前 合入了pull request
CANN-robot
27 天前 评论:
27 天前 评论:
Pull Request 已合并或已关闭。
If you want to solve this problem, you can click here to do it in the FAQs.


描述
本 PR 为 QuantBatchMatmulV3 的非 MX per-tensor 量化场景新增 StreamK 支持。在 M/N 较小、K 较大的场景下,通过切分 K 维提升核利用率,并复用已有 MX StreamK 的 BlockScheduler 和 workspace reduce 流程。
{1}。支持以下 dtype 组合:
FP8 支持 e4m3fn/e5m2 组合;hifloat8 仅支持 hifloat8/hifloat8,不支持 hifloat8 与 FP8 交叉输入。
Host Tiling 修改
QBMMV3StreamKTiling::IsCapable(),允许符合要求的非 MX per-tensor 场景参与 StreamK 收益判断。EvaluateStreamKBenefitGate(),根据核利用率和 MTE2 重复搬运收益决定是否进入 StreamK。singleCoreK按 256 Byte 对齐,统一不同 dtype 和转置场景的 K 分片要求。Kernel 修改
kernelType=15,通过 dtype 和 format 编译期条件增加非 MX per-tensor kernel 实例。Device 侧依赖配套的 ops-tensor StreamK 实现:
https://gitcode.com/cann/ops-tensor/pull/142
关联的Issue
https://gitcode.com/cann/ops-nn/issues/4584
测试
回归用例精度以及性能
文档更新
不涉及
类型标签
AI/Agent生成声明