v1.0: 同步HTML
This commit is contained in:
@@ -42,6 +42,8 @@ MathJax = {
|
||||
<div class="page">
|
||||
<h1>MergeBatch vs IterBatch:BMM 小 tile 场景的两种实现路径分析</h1>
|
||||
<blockquote>目标芯片:昇腾 950PR(DAV_3510)。理论分析基于《BMM 算子优化分析 v0.96》,源码参考 [cann-ops-nn](https://gitcode.com/cann/ops-nn/tree/master/matmul/batch_mat_mul_v3) 实现。</blockquote>
|
||||
<h2>摘要</h2>
|
||||
<p>BMM 中当 B ≥ C 时核间切 B 免费,核内有 IterBatch(逐 batch)和 MergeBatch(合并 $b_0$ 个 batch)两种路径。本文从 GM→L1 搬移粒度差异出发,证明 MergeBatch 的核心优势是<b>合并搬移减少 DMA 命令数</b>(每次搬移有固定开销 $T_{cmd}$),核心劣势是 **drain 暴露放大 $b_0$ 倍<b>。分界条件:MergeBatch 仅在 </b>K 截断**($k_{L1} = K$,小 M/N)且 $b_{core}$ 足够大时优于 IterBatch;**L1 绑定情形($k_{L1} < K$)MergeBatch 恒劣于 IterBatch**。与源码对比发现:源码 MergeBatch 进入条件偏宽(缺搬移量/tile/算存比约束),IterBatch 只覆盖 L1 形态 b(缺 a/c/d)。</p>
|
||||
<hr>
|
||||
<h2>一、问题定义</h2>
|
||||
<p>BMM(BatchMatMul)中,当 B ≥ C(batch 数 ≥ AIC 核数)时,核间切 B 是免费的——每核独立处理若干 batch,无共享无依赖。核内的两种实现路径:</p>
|
||||
|
||||
Reference in New Issue
Block a user