Fix #40: 切换 Cube 算力为白皮书 Cube-only 口径 (单核统一 13.5T)

用户裁决: cube_peak_tflops 取白皮书表3-1 "Cube算力" 单行 (不含 Vector)。

- 数值: 950PR 486->432, 950PR_C28 425->378, 950DT 547->486,
  950DT_C32 486->432, 950DT_C28 425->378; 单核全系列精确 13.5T
  (16^3 MAC/拍 x 1.65GHz), 28 核档 0.06% 取整偏差随之消失
- 传导 (无结构改动, 全部经 q16/q_cube/r16 派生):
  MMAD 时延 x486/432 (+12.5%); R16 607.5->540 (MergeBatch 条件5/b0 上限);
  StreamK θ_c 12.24->10.9; ASW 面积/周长分界 93.5->83.1, MMAD/FIX 304->270
- 文档同步: README, docs/00 (R16 公式), 04 (607.5 实例), 05 (硬件事实/复核算例),
  06/07 (翻出阈值 187->166), 05_StreamK (θ_c 及 K 阈值 396->360);
  理论归档 (BMM算子优化分析_Release/) 与历史测评报告不动
- 验证: 单测 88/88; examples 重生成 —— recommend 27/44 行变化
  (计算Bound 行精确 +12.5%; b8_m32768_n2048_k512 瓶颈 MTE2->MMAD 翻转;
  17 行访存主导不变), plans.csv 仅 merge_demo_k_trunc note 的算存比上限
  23.7->21.1 一处文案; 压力回归 10000 例干净, MergeBatch 386->392 /
  IterBatch 2389->2384 (R16 下移致 b0 上限收小, 边界 case 换边, 预期行为)
This commit is contained in:
2026-09-09 11:05:21 +08:00
parent 8e784a748c
commit ec4fee99b8
13 changed files with 151 additions and 140 deletions

View File

@@ -16,7 +16,7 @@
|---|---|---|
| 1 | `P ≤ C/2` | **并行缺口**:不切 K 时至多一半核有事做K 是唯一剩余的并行维度。阈值取 C/2 而非 CStreamK 定义即 grid_K≥2至少 2 路切 Kgrid_K=2 时每块需 2 核,总核数需求 = ⌈P⌉×2 ≤ C |
| 2 | `K/grid_K ≥ 256B/dtype` | **单核 K 段下限**:每核 K 段内轴连续长度不小于 dValue 推荐值保证段内搬移效率不崩。grid_K = ⌊C/⌈P⌉⌋ |
| 3 | `K > grid_K²/(grid_K-1)·θ_c`θ_c≈12 | **归约代价可接受**:切 K 后总时延须小于不切 K降核 ASW推导见 §3 |
| 3 | `K > grid_K²/(grid_K-1)·θ_c`θ_c≈10.9 | **归约代价可接受**:切 K 后总时延须小于不切 K降核 ASW推导见 §3 |
| 4 | 确定性等级 ≤ 1 且 ND 格式 | 归约顺序不定引入浮点非确定性,确定性等级 2/3 的业务禁用 |
## 3. 归约代价与 θ_c 推导(条件 3 的来源)
@@ -34,13 +34,13 @@ $$T_{Reduce}^t = \underbrace{\frac{grid_K\cdot M^t N^t\cdot 4B}{W_{L2}}}_{\text{
**计算 Bound 情形**T_pipe = T_MMAD^t代入判据两边除以 L0C/4B **tile 尺寸消去**——K 阈值不依赖 M/N 具体值
$$K > \frac{grid_K^2}{grid_K-1}\cdot\theta_c,\qquad \theta_c = \frac{Q_{16}}{2}\Big(\frac{8B}{W_{L2}}+\frac{1}{Q_{AIV}}\Big) \approx 12$$
$$K > \frac{grid_K^2}{grid_K-1}\cdot\theta_c,\qquad \theta_c = \frac{Q_{16}}{2}\Big(\frac{8B}{W_{L2}}+\frac{1}{Q_{AIV}}\Big) \approx 10.9$$
代入数值grid_K=2 → K>49grid_K=4 → K>66grid_K=8 → K>112。L2 读写1.54 ps/元素是主导项AIV 求和仅占 5%。
Q16 为 Cube-only 口径 13.5Tissue#40;旧总算力口径 15.1875T 时 θ_c≈12。代入数值grid_K=2 → K>44grid_K=4 → K>58grid_K=8 → K>100。L2 读写1.54 ps/元素是主导项AIV 求和仅占 5%。
访存 Bound 情形阈值恒低于计算 Boundθ_m·[M^tN^t/(M^t+N^t)]/θ_c ≤ 128/304 ≈ 0.42 < 1**汇总条件取计算 Bound 阈值**保守覆盖两种情形)。
访存 Bound 情形阈值恒低于计算 Boundθ_m·[M^tN^t/(M^t+N^t)]/θ_c ≤ 128/270 ≈ 0.47 < 1**汇总条件取计算 Bound 阈值**保守覆盖两种情形)。
> **注意**θ_c 对 workspace 落点敏感——部分和落 GM 时读写带宽从 5.2TB/s 降到 ~0.64TB/sθ_c 升至约 97。**设计时应优先保证 workspace 驻留 L2**。
> **注意**θ_c 对 workspace 落点敏感——部分和落 GM 时读写带宽从 5.2TB/s 降到 ~0.64TB/sθ_c 升至约 86。**设计时应优先保证 workspace 驻留 L2**。
## 4. 实现方案
@@ -70,4 +70,4 @@ $$T_{SK} = \max\Big(\frac{T_{MMAD}}{grid_K},\; \frac{T_{MTE2}}{grid_K}\Big) + T_
- `8192` = C×512B = dValue 推荐值在最大 grid_K=C 下的保障同为条件 2取推荐值
- max 取更严的 8192
修正后的归约阈值θ_c12grid_K=32 K>396远低于 8192说明 **8192 的绑定约束是 dValue条件 2不是归约代价条件 3**。源码不动态算 grid_K用固定阈值保守合并两条条件。本软件按理论动态计算 grid_K 与 θ_c进入条件更精细。
修正后的归约阈值θ_c10.9grid_K=32 K>360)远低于 8192说明 **8192 的绑定约束是 dValue条件 2不是归约代价条件 3**。源码不动态算 grid_K用固定阈值保守合并两条条件。本软件按理论动态计算 grid_K 与 θ_c进入条件更精细。