v0.9: 同步HTML

This commit is contained in:
2026-08-24 12:16:24 +00:00
parent 26fa687bad
commit 4af6eee0e3

View File

@@ -238,20 +238,28 @@ $$</div>
<ol class="tight">
<li><b>并行缺口</b>P 以"L0C 满载的输出基本块"为粒度估计不切 K 的最大并行度——基本块按 L0C 最大利用率取($M^t N^t \cdot 4\text{B} = L0C$),免去预先估计 M/N 具体切分。<b>阈值取 C/2 而非 C</b>StreamK 的定义就是 grid_K ≥ 2至少 2 路切 K且同一 batch 内所有输出块共享同一个 grid_Kgrid_K=2 时每块需要 2 个核,总核数需求 = P × 2 ≤ C即 P ≤ C/2。若 C/2 ≤ P &lt; C切 2 路就超核数2P &gt; C不切又浪费一半核——这个区间由降核 ASW_Basic 承接更合适。P &lt; C/2 才意味着不切 K 时连一半核都填不满K 是唯一剩余的并行维度。</li>
<li><b>单核 K 段下限</b>:每核 K 段内轴连续长度不小于 dValue 推荐值 256BBF16 为 128 元素),保证段内搬移效率不崩。</li>
<li><b>归约代价可接受</b>。StreamK 切 K 引入归约串行尾,收益判据——切 K 后总时延须小于不切 K降核 ASW</li>
<li><b>归约代价可接受</b>。StreamK 切 K 引入归约串行尾,收益判据——切 K 后芯片级总时延须小于不切 K降核 ASW</li>
</ol>
<div class="math">$$T_{SK} = \frac{T_{pipe}}{grid_K} + T_{Reduce} < T_{pipe} \;\Longleftrightarrow\; T_{Reduce} < T_{pipe}\left(1-\frac{1}{grid_K}\right)$$</div>
<p>$T_{pipe}=\max(T_{MTE2},\,T_{MMAD})$ 为不切 K 时单输出块的流水瓶颈。等价于 $T_{pipe} > \dfrac{grid_K}{grid_K-1}\cdot T_{Reduce}$——安全系数 α = grid_K/(grid_K-1) 由流水分析导出grid_K=2 时 α=2非经验值。</p>
<p>**$T_{Reduce}$ 构成**(每输出块,部分和驻留 L2、AIV 归约;符号定义见 §二):</p>
<p> <b>降核 ASW 的芯片级→核级映射</b>P &lt; C/2 时 B×M×N 填不满 C 核,以 L0C 满载粒度切为 P 个输出 tile每 tile 尺寸 $M^t N^t = L0C/4\text{B}$$\lceil P \rceil$ 个核各处理一个 tile。芯片级总时延 $T_{alt}$ = 单 tile 流水时延 $T_{pipe}$(所有核并行)。$T_{pipe} = \max(T_{MMAD}^t,\,T_{MTE2}^t)$,其中:</p>
<div class="math"> $$
T_{Reduce} = \underbrace{\frac{grid_K \cdot MN \cdot 4\text{B}}{W_{L2}}}_{\text{AIC 写部分和}} + \underbrace{\frac{grid_K \cdot MN \cdot 4\text{B}}{W_{L2}}}_{\text{AIV 读回}} + \underbrace{\frac{grid_K \cdot MN}{Q_{AIV}}}_{\text{AIV 求和}} + \underbrace{\frac{MN \cdot outB}{W_{L2}}}_{\text{写回}}
T_{MMAD}^t = \frac{2 M^t N^t K}{Q_{16}} = \frac{2K}{Q_{16}}\cdot\frac{L0C}{4\text{B}},\qquad
T_{MTE2}^t = \frac{K(M^t+N^t)\cdot\text{dtype}}{BW_{pc}}
$$</div>
<p> <b>StreamK 的芯片级→核级映射</b>:同样 P 个 tile每 tile 由 $grid_K$ 个核共同完成(各算 $K/grid_K$ 段)。流水时延 $T_{pipe}/grid_K$,归约时延 $T_{Reduce}^t$ 串行追加。芯片级总时延:</p>
<div class="math"> $$
T_{SK} = \frac{T_{pipe}}{grid_K} + T_{Reduce}^t
$$</div>
<p> <b>收益判据</b> $T_{SK} < T_{alt}$ $T_{Reduce}^t < T_{pipe}\left(1-\dfrac{1}{grid_K}\right)$等价于 $T_{pipe} > \dfrac{grid_K}{grid_K-1}\cdot T_{Reduce}^t$——α = grid_K/(grid_K-1) 由流水分析导出grid_K=2 时 α=2非经验值。</p>
<p> **$T_{Reduce}^t$ 构成**(每 tile部分和驻留 L2、AIV 归约;$M^t N^t = L0C/4\text{B}$,符号定义见 §二):</p>
<div class="math"> $$
T_{Reduce}^t = \underbrace{\frac{grid_K \cdot M^t N^t \cdot 4\text{B}}{W_{L2}}}_{\text{AIC 写部分和}} + \underbrace{\frac{grid_K \cdot M^t N^t \cdot 4\text{B}}{W_{L2}}}_{\text{AIV 读回}} + \underbrace{\frac{grid_K \cdot M^t N^t}{Q_{AIV}}}_{\text{AIV 求和}} + \underbrace{\frac{M^t N^t \cdot outB}{W_{L2}}}_{\text{写回}}
$$</div>
<p> <b>K 闭式阈值推导</b>——分两种瓶颈情形:</p>
<p><b>计算 Bound</b>$T_{pipe} = T_{MMAD} = \dfrac{2MNK}{Q_{16}}$),代入判据:</p>
<p> <b>计算 Bound</b>$T_{pipe} = T_{MMAD}^t$),代入判据:</p>
<div class="math"> $$
\frac{2MNK}{Q_{16}}\cdot\frac{grid_K-1}{grid_K} > grid_K \cdot MN\Big(\frac{8\text{B}}{W_{L2}}+\frac{1}{Q_{AIV}}\Big) + \frac{MN\cdot outB}{W_{L2}}
\frac{2K}{Q_{16}}\cdot\frac{L0C}{4\text{B}}\cdot\frac{grid_K-1}{grid_K} > grid_K\cdot\frac{L0C}{4\text{B}}\Big(\frac{8\text{B}}{W_{L2}}+\frac{1}{Q_{AIV}}\Big) + \frac{L0C}{4\text{B}}\cdot\frac{outB}{W_{L2}}
$$</div>
<p>两边除以 MN、解 K末项 $\theta_c' \approx 3$ 相对 $\theta_c$ 仅 12%,略去)</p>
<p> 两边除以 $L0C/4\text{B}$tile 输出元素数),<b>tile 尺寸消去</b>——K 阈值不依赖 M、N 的具体值</p>
<div class="math"> $$
K > \frac{grid_K^2}{grid_K-1}\cdot\theta_c,\qquad
\theta_c = \frac{Q_{16}}{2}\Big(\frac{8\text{B}}{W_{L2}}+\frac{1}{Q_{AIV}}\Big)
@@ -261,16 +269,16 @@ $$</div>
\theta_c = \frac{15.2\times10^{12}}{2}\Big(\underbrace{\frac{8}{5.2\times10^{12}}}_{1.54\,\text{ps/元素}} + \underbrace{\frac{1}{13.5\times10^{12}}}_{0.07\,\text{ps/元素}}\Big) = 7.6\times10^{12} \times 1.61\times10^{-12} \approx 12
$$</div>
<p> L2 读写1.54 ps/元素是主导项AIV 求和0.07)仅占 5%。grid_K=2→K&gt;494→K&gt;668→K&gt;112。</p>
<p><b>访存 Bound</b>$T_{pipe} = T_{MTE2} = \dfrac{K(M+N)\cdot\text{dtype}}{BW_{pc}}$$BW_{pc}=W_{GM}/C$ 为单核 GM 带宽份额),同理</p>
<p> <b>访存 Bound</b>$T_{pipe} = T_{MTE2}^t$),同理($M^t N^t/(M^t+N^t)$ 不消去,但阈值远低于计算 Bound</p>
<div class="math"> $$
K > \frac{grid_K^2}{grid_K-1}\cdot\frac{MN}{M+N}\cdot\theta_m,\qquad
K > \frac{grid_K^2}{grid_K-1}\cdot\frac{M^t N^t}{M^t+N^t}\cdot\theta_m,\qquad
\theta_m = \frac{BW_{pc}}{\text{dtype}}\Big(\frac{8\text{B}}{W_{L2}}+\frac{1}{Q_{AIV}}\Big) \approx 0.04
$$</div>
<p> <b>访存 Bound 阈值远低于计算 Bound</b>——两情形阈值比值:</p>
<div class="math"> $$
\frac{\theta_m \cdot MN/(M+N)}{\theta_c} = \frac{2\cdot BW_{pc}}{Q_{16}\cdot\text{dtype}}\cdot\frac{MN}{M+N} = \frac{MN/(M+N)}{152}
\frac{\theta_m \cdot M^t N^t/(M^t+N^t)}{\theta_c} = \frac{2\cdot BW_{pc}}{Q_{16}\cdot\text{dtype}}\cdot\frac{M^t N^t}{M^t+N^t} = \frac{M^t N^t/(M^t+N^t)}{152}
$$</div>
<p>StreamK case 的 M、N 小P&lt;C/2MN/(M+N) ~ O(10) → 比值 ≪ 1。直觉访存 Bound 时 $T_{pipe} = T_{MTE2} > T_{MMAD}$,瓶颈时延更大,归约留出的预算更充裕。<b>汇总条件取计算 Bound 阈值</b>(保守,同时覆盖两种情形)。</p>
<p> StreamK case 的 tile 尺寸 $M^t N^t/(M^t+N^t)$ ~ O(100) → 比值 ≪ 1。直觉访存 Bound 时 $T_{pipe} = T_{MTE2}^t > T_{MMAD}^t$,瓶颈时延更大,归约预算更充裕。<b>汇总条件取计算 Bound 阈值</b>(保守,同时覆盖两种情形)。</p>
<p> 注意 θ_c 对 workspace 落点敏感:部分和落 GM 时读写带宽从 5.2TB/s 降到 ~0.64TB/sθ_c 升至约 97。设计时应优先保证 workspace 驻留 L2。</p>
<ol class="tight">
<li><b>工程约束</b>:归约顺序不定引入浮点非确定性,确定性等级 2/3 的业务禁用。</li>