Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
BMM+add/mul通用融合泛化性能优化 【处理】 模板补充 1 支持mergebatch 2 支持sk模板 tiling适配 芯片需要隔离,保证编译通过
非量化
本次改动围绕 FusedMatMul 的 BatchMatMul + Add/Mul 融合能力补齐 host tiling 与 UT 覆盖:IterBatch 模板新增 add/mul 基础 API 路由校验,并覆盖 x3 batch 维广播场景;MergeBatch 模板补充 add/mul 路由能力,覆盖长 K、batch 合并到 M 方向后的融合场景;MatmulAct/ASWT 模板补齐 add/mul 常规 batch 路由覆盖;A FullLoad 与 B FullLoad 模板分别覆盖单侧 L1 全载复用场景下的 add/mul 融合路由。同时补充 aclnn 参数校验用例,覆盖 x3 [B,M,N]、[1,M,N]、[M,N] 支持范围,以及 [B,1,N]、[B,M,1]、非法 batch 等不支持形态。
整体方案分两层:
aclnnFusedMatmul
BatchMatMulV3Nd + Add/Mul + Cast + Reshape
BatchMatMulV3Nd
BatchMatMulToMul
FusedMatMul kernel 策略优先级沿用 fused_matmul_builtin_tiling_strategy.h 的既有顺序,不调整 BatchStreamK、MergeBatch、IterBatch、FullLoad、ASW 等策略之间的相对顺序。
fused_matmul_builtin_tiling_strategy.h
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Backgroud(背景信息)
BMM+add/mul通用融合泛化性能优化 【处理】 模板补充 1 支持mergebatch 2 支持sk模板 tiling适配
芯片需要隔离,保证编译通过
Origin(信息来源)
非量化
Benefit / Necessity (价值/作用)
Design(设计方案)
本次改动围绕 FusedMatMul 的 BatchMatMul + Add/Mul 融合能力补齐 host tiling 与 UT 覆盖:IterBatch 模板新增 add/mul 基础 API 路由校验,并覆盖 x3 batch 维广播场景;MergeBatch 模板补充 add/mul 路由能力,覆盖长 K、batch 合并到 M 方向后的融合场景;MatmulAct/ASWT 模板补齐 add/mul 常规 batch 路由覆盖;A FullLoad 与 B FullLoad 模板分别覆盖单侧 L1 全载复用场景下的 add/mul 融合路由。同时补充 aclnn 参数校验用例,覆盖 x3 [B,M,N]、[1,M,N]、[M,N] 支持范围,以及 [B,1,N]、[B,M,1]、非法 batch 等不支持形态。
整体方案分两层:
aclnnFusedMatmul图构建阶段,对 DAV_3510 下的小 N / K=1 Add/Mul 场景,拆成BatchMatMulV3Nd + Add/Mul + Cast + Reshape。其中 K=1 且满足 BMMV3 边界时,由BatchMatMulV3Nd命中BatchMatMulToMul。FusedMatMul kernel 策略优先级沿用
fused_matmul_builtin_tiling_strategy.h的既有顺序,不调整 BatchStreamK、MergeBatch、IterBatch、FullLoad、ASW 等策略之间的相对顺序。