diff --git a/impl/matmul/kernel_kfc.h b/impl/matmul/kernel_kfc.h index bcf0a4725b2698a576d62911d2dfaa957aa4567b..14e3f017f78206b058dd51f7c6ee9d8302bcd63e 100644 --- a/impl/matmul/kernel_kfc.h +++ b/impl/matmul/kernel_kfc.h @@ -236,41 +236,46 @@ constexpr bool IsSharedMatmul() return !MM_CFG.enableInit; } template > + const MatmulConfig& MM_CFG = CFG_NORM, class MM_CB = matmul::MatmulCallBackFunc, + MATMUL_POLICY_DEFAULT_OF(matmul::MatmulPolicy)> struct MatmulInstBase { __aicore__ inline MatmulInstBase(){}; }; -template -struct MatmulInstShared : MatmulInstBase { +template +struct MatmulInstShared : MatmulInstBase { __aicore__ inline MatmulInstShared(){}; - matmul::MatmulService mm[1]; + matmul::MatmulService mm[1]; }; -template -struct MatmulInst : MatmulInstBase { +template +struct MatmulInst : MatmulInstBase { __aicore__ inline MatmulInst(){}; - matmul::MatmulService mm[MIX_NUM]; + matmul::MatmulService mm[MIX_NUM]; }; template + class MM_CB, MATMUL_POLICY_TEMPLATE_OF(MATMUL_POLICY)> struct MatmulInstAux { __aicore__ inline MatmulInstAux(){}; }; -template -struct MatmulInstAux { +template +struct MatmulInstAux { __aicore__ inline MatmulInstAux(){}; - using MATMUL = MatmulInstShared; + using MATMUL = MatmulInstShared; }; -template -struct MatmulInstAux { +template +struct MatmulInstAux { __aicore__ inline MatmulInstAux(){}; - using MATMUL = MatmulInst; + using MATMUL = MatmulInst; }; template > +class MM_CB = matmul::MatmulCallBackFunc, MATMUL_POLICY_DEFAULT_OF(matmul::MatmulPolicy)> class MatmulServiceAux { using SrcT = typename A_TYPE::T; using SrcAT = typename A_TYPE::T; @@ -281,7 +286,8 @@ class MatmulServiceAux { public: __aicore__ inline MatmulServiceAux() {} - typename MatmulInstAux(), A_TYPE, B_TYPE, C_TYPE, BIAS_TYPE, MM_CFG, MM_CB>::MATMUL mm; + typename MatmulInstAux(), A_TYPE, B_TYPE, C_TYPE, BIAS_TYPE, MM_CFG, MM_CB, + MATMUL_POLICY>::MATMUL mm; // stub functions for MatmulImpl __aicore__ inline void Init(TCubeTiling* cubeTiling, TPipe* tpipe = nullptr){};