27. MergeBatch Cube 时延公式复核: 与建议公式一致(附证明), 字节列口径随#29统一 #27
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?
结论先行: 你给的公式与当前实现完全一致, 无计算错误; 但暴露了"字节列每核/芯片口径混用"问题, 一并在本轮 #29 统一。
推导
合并语义 (v0.98 §五): A'[b0M,K] @ B'[K,b0N] 作为单次 GEMM 计算, Cube 硬件算全网格 b0M x b0N(含交叉项, 冗余比例 (b0-1)/b0), 每核合并组数 = b_core/b0:
merge_batch.pyevaluate:flops_pc = b_core * b0 * 2.0 * m * n * k,t_mmad = flops_pc / Q16—— 两者相等。逐行证据 (result_recommend.csv, merge_demo_k_trunc: B=2048 M=N=32 K=256 bf16, b0=4, b_core=64)
但确实发现真问题 (随 #29 修)
修复 commit:
b9e07ed复核结论: 公式与代码一致, 无需数值修改 (推导与 CSV 逐行证据见 issue 正文):
落地:
若未来意图改为"只计算对角块" (冗余比例归零), 那是 v0.98 §五 合并语义的理论变更, 需另行裁决, 本 issue 不做此假设。