Fix review issues #17-#22: 恢复 #11/#12/#14 (StreamK fixpipe 单次计账/K=1 AIV单缓冲/advice) + 占位方案不可评估 + 转置 dValue 判据三处同源(form c 双缓冲适配修复) + 恢复 #13/#15 回归测试 + 清理临时 csv/.gitignore + 文档同步
This commit is contained in:
@@ -20,13 +20,14 @@ K 维度是 Cube(MMAD)存在的意义——`C = Σ_k A[..,k]·B[k,..]` 的
|
||||
|
||||
- 数据流:GM→UB(读 A、B)→ Mul → GM(写 C),全程 AIV;
|
||||
- 时延:`T = max(搬入, 搬出)`,AIV 算力远剩,瓶颈在搬移:`T ≈ B·(MK + KN + MN)·dt / W_GM`;
|
||||
- **触发条件**:`B ≥ 2×AIV核数 = 128`(开 UB 乒乓需要每核至少 2 个 batch 块)且单 batch 输入输出能驻留 UB。
|
||||
- **触发条件**:`B ≥ 2×AIV核数 = 128`(开 UB 乒乓需要每核至少 2 个 batch 块)且单 batch 输入输出能驻留 UB;
|
||||
- **B < 128 时并不无解**(issue#12/#17):退化为 **AIV 单缓冲**——无乒乓、逐 batch 串行搬入计算,仍远优于 Cube 通路(K=1 时 Cube 16×16×16 浪费 15/16),只是流水掩盖能力下降。软件 `special.py` 按 `B ≥ 128` 自动选择"UB乒乓 / AIV单缓冲"模式。
|
||||
|
||||
## 4. 软件处理
|
||||
|
||||
`router.py` 前置归约中,`k ≤ 1` 直接路由到特殊分支:
|
||||
|
||||
- `K=0` → 标注"纯 AIV 写值",评估时延 = 写出时延;
|
||||
- `K=1` → 标注"AIV 逐元素乘",评估时延 = 搬入/搬出较大者。
|
||||
- `K=1` → 标注"AIV 逐元素乘",评估时延 = 搬入/搬出较大者;plan 按 `B ≥ 128` 自动选择"UB乒乓 / AIV单缓冲"模式(`l1_form` 与 `note` 中可见)。
|
||||
|
||||
不进入 Cube 切分体系,无 ImplPlan 的 tile 字段(除 used_core_num = AIV 核数外均不适用)。
|
||||
|
||||
Reference in New Issue
Block a user