已关闭
[Requirement|需求建议]: gemm blaze模板 TT量化场景支持StreamK性能优化 #136
chen-shuai创建于 28 天前关闭于 12 天前
28 天前 添加了label:requirement
28 天前 修改了issue 的描述
28 天前 修改了issue 的描述
chen-shuai
28 天前 评论:
28 天前 评论:
/assign


28 天前 将 chen-shuai 设为负责人
chen-shuai
12 天前 评论:
12 天前 评论:
/close


12 天前 issue状态由 进行中 改变为 已完成
12 天前 关闭了 issue
12 天前 添加了label:resolved
Thanks for sending a requirement! Please fill in the following template to help quickly solve your problem.
一、背景信息 (必填)
blaze模板支持TT量化场景streamK
gemm blaze模板 TT量化场景支持StreamK性能优化
二、价值/作用 (必填)
解决小M、N大K场景核利用率可能不足的问题,提高该场景下的性能表现
三、设计方案 (必填)
整体流程
Device 侧按照以下模块组织:
Policy
新增
KernelQbmmPertensorMultiBlockStreamK调度类型,并为MatmulWithScaleFixpipeQuant增加可配置的ScheduleType。通过独立 ScheduleType 将普通 Fixpipe QBMM、MX StreamK 和 per-tensor StreamK 的模板实例区分开,防止 Kernel、MMAD 和 Epilogue 发生错误组合。
Kernel
新增
kernel_qbmm_pertensor_streamk.h,实现 QBMM per-tensor StreamK 对应的GemmUniversal特化。Kernel 主要完成:
BlockScheduler
直接复用已有
BlockSchedulerMatmulStreamK,不修改原有 StreamK 切块策略。Scheduler 负责:
BlockMmad
扩展
block_mmad_a8w8_fixpipe_quant.h,使已有 QBMM BlockMmad 支持 per-tensor StreamK ScheduleType。主要修改包括:
int32 bias,以及 FP8 整数编码 scale 对应的 fp32 bias,在 MMAD 累加域处理。
BlockEpilogue
新增
block_epilogue_qbmm_pertensor_streamk.h,实现专用 AIV 后处理:反量化全部在 UB 上由 Vector 完成,不使用 Fixpipe 随路反量化处理 StreamK partial。
Scale 和 Bias 顺序
支持两类 bias 处理顺序:
对于反量化后 bias,Host Tiling 仅允许全 StreamK 调度,确保所有输出 tile 都经过 AIV Epilogue。
💡 备注(选填)