Commit Graph

7 Commits

Author SHA1 Message Date
fdd3c8883c Fix #35: MergeBatch L1绑定情形 DMA 命令数多计 b0 倍修复 + 分界泛化口径
- evaluate: 每核命令数 = ceil(b_core/b0) * ceil(K/k_l1^m) (K截断退化为 b_core/b0,
  数值不变; L1绑定消除 b0 倍多计 —— v1.1 §4.4 恒劣恒等式的 n_K 是未合并粒度,
  误代入合并后段数会多计 b0 倍, 可把仲裁方向翻错)
- beats_iterbatch: 泛化为实际命令数比较 (cmds_iter=b_core*ceil(K/k_l1_iter) vs
  cmds_mb=ceil(b_core/b0)*ceil(K/k_l1^m), 节省>T_cmd vs drain 惩罚); K截断时严格
  退化为文档闭式 b_core > b0*(T_comp+T_write)/T_cmd; 截断判定改用合并口径
  plan.k_l1>=K (未合并截断不代表合并后截断); 覆盖 dValue 512B cap 第三情形;
  T_cmd<=0 策略路径改为 cmds_mb<cmds_iter 判 MergeBatch 优先
- router: 仲裁文案 [裁决] 位打印最终胜者 (修复分界/时延不一致时的自相矛盾表述)
- 用户 case 家族 B=128,M=1~16,N=128,K=512 修复后: m=1/2/4 -> MergeBatch,
  m=8/16 -> IterBatch (修复前全判 IterBatch; 交叉点 m≈4~8, 物理合理)
- 测试: TestIssue35 回归 5 例 (命令数公式/K截断不变/口径一致/路由家族/裁决文案);
  test_beats_iterbatch_policy 的 (128,64,64,512) 期望 True->False (第三情形:
  合并侧 dValue cap 截断, 命令数 4=4 打平, 恒劣 —— 原期望基于误分类)
- docs/01_MergeBatch分支.md: 分界小节补第三情形行 + 命令数口径警示 + 泛化净收益式
- 验证: 68/68 unittest; examples 重生成可复现 0 diff (仅仲裁文案 + 16.0->16 格式,
  plans.csv 不变); 压力 10000 例 (seed7/6000+seed2024/4000): 0 崩溃/0 NaN/0 违规/
  0 不可行/0 GM<V_in, 七分支全覆盖
2026-09-07 20:31:51 +08:00
0cd47f93cb Fix #34: ASW_Basic 兜底恒出方案; 搬移效率下限不满足降级为 warning (不判违规)
- constraints.py: ASW_Basic/ASW_Basic_降核 的 dValue 效率下限不再计违规
  (DMA 仍能工作只是效率低; 真正不可行的只有容量/核数硬约束);
  IterBatch/MergeBatch/StreamK 等有替代分支的分支仍按违规处理 (不满足条件不该进)
- asw_basic 枚举尾部: 严格 256B 偏好无解 -> 放开约束4 按 128B 硬下限给最优可行 tile,
  note 标注"效率降级"; 128B 硬下限也不满足的极端形状 (如 N=8 int8, B 侧 dValue=8B
  物理不可满足) 仍给 Base tile 方案 + 标注效率降级 (搬移效率崩塌)
- evaluator advice / router 仲裁文案含"效率降级"提示 (plan.note 同步)
- docs/06 Step1 增加"兜底分支恒出方案"段落 (效率降级 vs 违规的语义分层)
- 回归: b32_m16_n8192_k7168 分解 = Base 16x1024 + tile 16x1024 + k_l1=112
  (L1 双缓冲 ⌊L1/(2·(16+1024)·2)⌋16=112 反推) 入测试; 极端形状 feasible=True +
  效率降级标注; 压力 10000 例 0 崩溃/0 NaN/0 硬违规/0 GM<V_in; examples 重生成 0 diff
2026-09-07 16:24:46 +08:00
5051e00fa0 T_cmd=0 仲裁改为策略优先 MergeBatch: K截断即优先(指令/命令次数省b0倍,未量化收益), L1绑定恒劣; 路由层以策略覆盖时延模型差额并显式标注 2026-09-04 10:47:02 +08:00
4bedf0a109 Fix review issues #11-#16: StreamK fixpipe 单次计账 / K=1 AIV单缓冲方案 / MergeBatch b0 L0A/L0B 上限+路由可行回退 / advice-StreamK / 输入校验 / .gitignore+死代码清理 2026-09-03 20:05:14 +08:00
dad4585216 Update BMM_Theory: bmm_theory/router.py (fix review issues #4-#10) 2026-09-03 11:34:20 +00:00
5bee731570 Update BMM_Theory: bmm_theory/router.py 2026-09-03 09:25:38 +00:00
d08242489d Add BMM_Theory: bmm_theory/router.py 2026-09-03 08:09:27 +00:00