已关闭
[Requirement|需求建议]: QuantBatchMatmulV3 MX量化场景新增MMAD拆分性能模板路由 #3771
Hu1L1创建于 7月2日关闭于 7月7日
7月2日 添加了label:requirement
7月2日 关联了pull request:feat(qbmmv3): add MX split-M tiling key and kernel entry
yuning_chen
7月2日 评论:
7月2日 评论:
/assign @Hu1L1


7月2日 将 Hu1L1 设为负责人
7月7日 关闭了 issue
7月7日 添加了label:resolved
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 算力估算。