已关闭
[Requirement|需求建议]: QuantBatchMatmulV3 MX量化场景新增MMAD拆分性能模板路由 #3771
Hu1L1创建于  7月2日关闭于  7月7日
Hu1L1
Hu1L1成员
7月2日 创建

Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.

Backgroud(背景信息)

QuantBatchMatmulV3 在 MX 量化场景下,现有 Blaze MX 模板存在 fixpipe 打断 MMAD 流水的问题,cube bound 场景下性能无法达到预期。需要在 host tiling 与 kernel 入口侧新增 MMAD 拆分性能模板的路由能力,通过新增 tiling key/kernel type 选择 ops-tensor 侧的新 BlockMmad 模板。

Origin(信息来源)

QuantBatchMatmulV3 MX 量化性能优化迭代。

Benefit / Necessity (价值/作用)

在 MXFP4/MXFP8 且 cube bound 的场景下,进入 MMAD 拆分性能模板,降低 fixpipe 对 MMAD 流水的影响,提升大 shape 场景性能;非目标场景保持原有 tiling 与 kernel 路由不变。

Design(设计方案)

新增 MX MMAD split kernel type:11/12/13/14,覆盖带 batch/without batch、普通 GM->L1/custom GM->AL1 场景。
新增 qbmm_mx_mmad_split.h,承接 MX MMAD split 模板 kernel 入口。
Basic API tilingData 新增 mmadM/mmadN,同时同步 QBMMV3 与 QBMM InplaceAdd 的 BasicAPICubeTiling。
IsMxSplitMPerfCapable 准入条件包括:MX per-group、scale 为 FLOAT8_E8M0、TensorAPI 可用、输入为 MXFP4/MXFP8、输出为 FLOAT16/BF16、N * sizeof(output dtype) 128B 对齐、满足 cube bound 判定。
cube bound 判定综合 GM 搬运、scale 搬运、L2 复用搬运、copy out 搬运及 FP4/FP8 理论 cube 算力估算。

likedislike
Hu1L1Hu1L1成员
7月2日 添加了label:requirement
Hu1L1Hu1L1成员
7月2日 关联了pull request:feat(qbmmv3): add MX split-M tiling key and kernel entry
yuning_chen
yuning_chen成员
7月2日 评论:

/assign @Hu1L1

likedislike
CANN-robotCANN-robot成员
7月2日 将 Hu1L1 设为负责人
CANN-robotCANN-robot成员
7月7日 关闭了 issue
CANN-robotCANN-robot成员
7月7日 添加了label:resolved