Fix review issues #17-#22: 恢复 #11/#12/#14 (StreamK fixpipe 单次计账/K=1 AIV单缓冲/advice) + 占位方案不可评估 + 转置 dValue 判据三处同源(form c 双缓冲适配修复) + 恢复 #13/#15 回归测试 + 清理临时 csv/.gitignore + 文档同步

This commit is contained in:
2026-09-03 21:10:05 +08:00
parent f5a0b6fe81
commit 9afe6eec02
22 changed files with 219 additions and 76 deletions

View File

@@ -55,6 +55,23 @@ def align_down(x: int, align: int) -> int:
return (x // align) * align
def dvalue_contig_dims(case: "BmmCase", k_l1: float) -> tuple:
"""A/B 两侧 GM->L1 搬移的连续维 dValue (Byte) —— 依转置定连续维 (ND 排布).
A 不转置存储 [M,K]: 行内 K 连续, 切 K 后每行连续段 k_l1 -> k_l1*dt;
A 转置存储 [K,M]: M 连续 -> m*dt;
B 不转置存储 [K,N]: N 连续 -> n*dt;
B 转置存储 [N,K]: 行内 K 连续, 切 K 后连续段 k_l1 -> k_l1*dt.
供三处共用 (issue#19): l1_form 生成守卫 / IterBatch 条件 4 / constraints 校验,
保证"生成说可行、条件说可行、校验说可行"口径一致.
"""
dt = case.dtype_in_bytes
dv_a = case.m * dt if case.trans_a else k_l1 * dt
dv_b = k_l1 * dt if case.trans_b else case.n * dt
return dv_a, dv_b
# ---------------------------------------------------------------------------
# Case 输入
# ---------------------------------------------------------------------------