[P2] StreamK 时延计账口径疑点:REDUCE 同时计入稳态 max() 与 drain;fixpipe 按 C dtype 与"部分和 4B"口径不一致 #9
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
现象(需作者确认口径,报告列为疑点而非定论):
branches/stream_k.py:161drain = t_reduce(归约串行追加),而timing.py:104-112又把REDUCE: t_reduce放入稳态max(stages)—— 归约同时被"取最大"与"串行追加",归约主导时近似双倍计账。若语义为"归约不可掩盖、串行追加",REDUCE 不应进稳态 max()。stream_k.py:152-153fixpipefix_bytes = tile_elems * case.dtype_out_bytes(按 C 矩阵 2B/1B),而其 plan(:116out_dtype_bytes=4)与归约子模型(timing.py:77-93,部分和写读按 4B 且含最终写回)口径不一致 →t_fix偏低且与t_reduce内"写回"存在重复计账嫌疑。期望:明确归约在流水中的位置与计账约定(进 max 或进 drain 二选一并全分支统一),fixpipe/部分和/最终写回三者口径对齐,evaluate 与 make_plan 的切分联动。
参考:测评报告 §5.4。
【修复说明 · 乱码重写】原评论提交时编码损坏、内容不可恢复, 以下按 git 记录 / issue 正文 / 残留文本重建 (要点级, 非逐字原稿):
[P2] StreamK 归约计账口径 (REDUCE 同时进稳态 max 与 drain) 已修复:
不进稳态 max(), 消除"既取最大又串行追加"的双倍计账 (issue#9 标注);
4bedf0a) 与 #17 (9afe6ee) 中最终收敛, streamk_demo 复测 ≈9.96us。