fix: Phase B 实测回归(flex+dense慢5-6x),默认回退 sdpa+loop;bench 加 --profile

实测 A800:sdpa+loop=15.15s,flex+dense=98s,+compile=82s。模型是开销瓶颈
非算力瓶颈(30TFLOP应0.15s却跑15s),FlexAttention解决的算力问题非此处瓶颈、
反增开销。默认改回已验证最快的 sdpa+loop。新增 bench --profile 用 torch.profiler
定位真正的开销来源(算子级)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
OwnerSunshine530
2026-06-15 00:25:53 +08:00
parent c1d8b91fb2
commit 9eaf5f5511
2 changed files with 51 additions and 3 deletions
+5 -3
View File
@@ -40,9 +40,11 @@ CONFIG = {
"signid_mode": "clamp", # "clamp" 或 "modulo":处理超界 sign id 的方式
"sync_timing": False, # bench 里设 True,做 torch.cuda.synchronize 真实计时
"filter_test_users": True, # 只处理含测试样本的用户(跳过会被丢弃的用户,省算力)
"use_flex_attn": "auto", # "auto"(SM80+用flex,否则SDPA) / True / False
"vectorize_moe": True, # True=稠密向量化MoE(无Python循环/同步);False=原逐expert循环
"compile": False, # 是否 torch.compile(图理干净后再开)
# 实测:FlexAttention + 稠密MoE 在本模型上反而慢 5-6 倍(模型是开销瓶颈非算力瓶颈),
# 故默认回到已验证最快的 sdpa + loopflex/dense 仅作 bench 对照选项。
"use_flex_attn": False, # "auto"(SM80+用flex,否则SDPA) / True / False
"vectorize_moe": False, # True=稠密向量化MoEFalse=原逐expert循环(默认,已验证更快)
"compile": False, # 是否 torch.compile
}