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:
+5
-3
@@ -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 + loop;flex/dense 仅作 bench 对照选项。
|
||||
"use_flex_attn": False, # "auto"(SM80+用flex,否则SDPA) / True / False
|
||||
"vectorize_moe": False, # True=稠密向量化MoE;False=原逐expert循环(默认,已验证更快)
|
||||
"compile": False, # 是否 torch.compile
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user