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:
@@ -16,7 +16,7 @@
|
||||
|---|---|---|
|
||||
| 1 | `P ≤ C/2` | **并行缺口**:不切 K 时至多一半核有事做,K 是唯一剩余的并行维度。阈值取 C/2 而非 C:StreamK 定义即 grid_K≥2(至少 2 路切 K),grid_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>49;grid_K=4 → K>66;grid_K=8 → K>112。L2 读写(1.54 ps/元素)是主导项,AIV 求和仅占 5%。
|
||||
(Q16 为 Cube-only 口径 13.5T,issue#40;旧总算力口径 15.1875T 时 θ_c≈12。)代入数值:grid_K=2 → K>44;grid_K=4 → K>58;grid_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。
|
||||
|
||||
修正后的归约阈值(θ_c≈12,grid_K=32 时 K>396)远低于 8192,说明 **8192 的绑定约束是 dValue(条件 2),不是归约代价(条件 3)**。源码不动态算 grid_K,用固定阈值保守合并两条条件。本软件按理论动态计算 grid_K 与 θ_c,进入条件更精细。
|
||||
修正后的归约阈值(θ_c≈10.9,grid_K=32 时 K>360)远低于 8192,说明 **8192 的绑定约束是 dValue(条件 2),不是归约代价(条件 3)**。源码不动态算 grid_K,用固定阈值保守合并两条条件。本软件按理论动态计算 grid_K 与 θ_c,进入条件更精细。
|
||||
|
||||
Reference in New Issue
Block a user