v1.0: 同步HTML

This commit is contained in:
2026-08-26 11:34:51 +00:00
parent 1b14a201e9
commit e36fc587c5

View File

@@ -42,6 +42,8 @@ MathJax = {
<div class="page">
<h1>MergeBatch vs IterBatchBMM 小 tile 场景的两种实现路径分析</h1>
<blockquote>目标芯片:昇腾 950PRDAV_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} &lt; K$MergeBatch 恒劣于 IterBatch**。与源码对比发现:源码 MergeBatch 进入条件偏宽(缺搬移量/tile/算存比约束IterBatch 只覆盖 L1 形态 b缺 a/c/d</p>
<hr>
<h2>一、问题定义</h2>
<p>BMMBatchMatMul当 B ≥ Cbatch 数 ≥ AIC 核数)时,核间切 B 是免费的——每核独立处理若干 batch无共享无依赖。核内的两种实现路径</p>