已关闭
[Requirement|需求建议]:qbmmv3 tiling重构 #2524
ddssz创建于  5月6日关闭于  5月22日
ddssz
ddssz成员
5月6日 创建

Backgroud(背景信息)

QuantBatchMatmulV3 arch35 adaptive sliding window tiling 逻辑持续扩展后,原实现中策略选择、dtype/shape 校验、BaseBlock 计算、L1 tiling、full-load 分析、tail split、Basic API tiling data 设置等逻辑集中在较少类中,代码耦合较高。随着 mxFP8、perblock、HIFLOAT8 TT、mmad s8s4、QuantBatchMatmulInplaceAdd 复用等场景增加,需要对 tiling 架构进行拆分和复用化重构。

Origin(信息来源)

CANN ops-nn matmul 算子 tiling 维护与演进需求,涉及 QuantBatchMatmulV3、QuantBatchMatmulInplaceAdd 及相关复用场景。

Benefit / Necessity(价值/作用)

通过拆分策略类和抽取公共计算逻辑,降低 arch35 tiling 代码耦合度,提升可维护性与后续场景扩展效率。重构后 QuantBatchMatmulInplaceAdd 可复用 QuantBatchMatmulV3 basic-api tiling 能力,减少重复实现,并为 mxFP8、HIFLOAT8 TT 等场景提供更清晰的策略边界。

Design(设计方案)

  • 新增 NpuArch + priority 的 tiling 策略分发机制。
  • 将 QuantBatchMatmulV3 adaptive sliding window tiling 拆分为 MX basic-api、perblock basic-api、cube basic-api、mix、cube 等策略类。
  • 抽取 BaseBlockCalculator、L1TilingDataCalculator、QuantBatchMatMulV3TilingUtil,统一处理公共 tiling 计算和 checker 分发。
  • QuantBatchMatmulInplaceAdd 新增 helper 与 MX/Cube basic-api tiling 策略,复用 V3 basic-api tiling data。
  • 更新相关 UT,补充 HIFLOAT8 TT 场景验证。
likedislike
ddsszddssz成员
5月6日 添加了label:requirement
ddssz
ddssz成员
5月6日 评论:

/assign

likedislike
CANN-robotCANN-robot成员
5月6日 将 smdbha 设为负责人
ddsszddssz成员
5月6日 修改了issue 的描述
ddsszddssz成员
5月6日 修改标题为 “[Requirement|需求建议]:qbmmv3 tiling重构”,原标题为“[Requirement|需求建议]: 1”
CANN-robotCANN-robot成员
5月22日 关闭了 issue
CANN-robotCANN-robot成员
5月22日 添加了label:resolved