已关闭
[Requirement|需求建议]: mm/bmm/tbmm FP32场景精度优化 #6222
pzyy00创建于  9月24日关闭于  4 天前
pzyy00
pzyy00成员
9月24日 创建

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

Backgroud(背景信息)

  1. MatMul 在 3510 上FP32场景sk与basic模板均支持单核切k,但单核切K使用的是固定切K基本块1024,无法适应K轴变化做到动态调整切K基本块大小。目前部分case的精度无法达到三方精度标准,需要对FP32场景的matmul计算进行精度优化。
  2. BMM的单核切K模板只支持基础api,需切换到tensorapi,同时需优化动态单核切K的基准
  3. TBMM算子在FP32场景存在大数吃小数的精度问题,需单核切k切且切换到tensorapi版本

Origin(信息来源)

cube算子团队

Benefit / Necessity (价值/作用)

提升Matmul算子FP2场景的精度

Design(设计方案)

L0C累加位宽与atomic累加位宽存在差距

综合考虑性能精度,splitSingleCoreKBase大小为:
outer_cnt / innerr_cnt <= 24
innerr_cnt = splitSingleCoreKBase/8
out_cnt = K/splitSingleCoreKBase

推导出:
(K/splitSingleCoreKBase) / (splitSingleCoreKBase/8) <= 24 => splitSingleCoreKBase >= sqrt(K/3)
splitSingleCoreKBase 满足最小16对齐

likedislike
pzyy00pzyy00成员
9月24日 添加了label:requirement
yuning_chenyuning_chen成员
9月24日 将 pzyy00 设为负责人
pzyy00pzyy00成员
16 天前 修改了issue 的描述
CANN-robotCANN-robot成员
4 天前 关闭了 issue
CANN-robotCANN-robot成员
4 天前 添加了label:resolved