diff --git a/BMM/BMM_Theory/bmm_theory/models.py b/BMM/BMM_Theory/bmm_theory/models.py index e327e75..5b4254d 100644 --- a/BMM/BMM_Theory/bmm_theory/models.py +++ b/BMM/BMM_Theory/bmm_theory/models.py @@ -175,7 +175,16 @@ class ImplPlan: workspace_bytes: int = 0 # StreamK 中间结果 workspace (驻留 L2) # --- 4) 尾轮与流水策略 --- - tail_strategy: str = "" # A0 / A1a / A1b / 方案B (仅切 M/N 类分支) + # 尾轮切分成员, 参考源码 MatMulV3TailInfo{mCnt,nCnt,kCnt,mTailMain,nTailMain} + # (mat_mul_v3/op_host/op_tiling/arch35/matmul_v3_common_advanced.h:120) + tail_strategy: str = "" # 尾轮策略: A0 / A1a / A1b / 方案B (仅切 M/N 类分支) + tail_m_cnt: int = 1 # 尾轮 M 向切分数 (tailInfo.mCnt) + tail_n_cnt: int = 1 # 尾轮 N 向切分数 (tailInfo.nCnt) + tail_k_cnt: int = 1 # 尾轮 K 向切分数 (tailInfo.kCnt, StreamK 时 = grid_K) + tail_m_main: int = 0 # 尾轮 M 向主体块数 (tailInfo.mTailMain) + tail_n_main: int = 0 # 尾轮 N 向主体块数 (tailInfo.nTailMain) + tail_block_cnt: int = 0 # 尾轮块数 r = N_blk mod C (0 = 无尾轮) + tail_wave_num: int = 0 # 总轮次 n_wave = ceil(N_blk / C) fixpipe_unitflag: bool = True # fixpipe 开 unitflag 随路搬出 out_dtype_bytes: int = 2 # fixpipe 写出元素字节数 (C 矩阵 dtype)