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
This commit is contained in:
@@ -63,6 +63,9 @@ class PlanEvaluator:
|
||||
def _advice(self, case: BmmCase, plan: ImplPlan, res: EvalResult) -> str:
|
||||
t = res.timing
|
||||
tips = []
|
||||
if "效率降级" in plan.note:
|
||||
tips.append("效率降级标注 (plan.note): 搬移效率下限不满足 —— 方案照常给出 "
|
||||
"(兜底), 但实际效率低于模型假设, 时延可能低估; 建议调整 dtype/布局")
|
||||
if not res.feasible:
|
||||
tips.append("方案违反硬件约束, 需先修正: " + res.violations)
|
||||
bn = t.bottleneck
|
||||
|
||||
Reference in New Issue
Block a user