diff --git a/BMM算子优化分析_Release/BMM算子优化分析_v0.91.html b/BMM算子优化分析_Release/BMM算子优化分析_v0.91.html index 30b18f2..b2dd2ba 100644 --- a/BMM算子优化分析_Release/BMM算子优化分析_v0.91.html +++ b/BMM算子优化分析_Release/BMM算子优化分析_v0.91.html @@ -166,7 +166,7 @@ $$
$$T_{iter} = \text{一阶} + b_{core} \cdot T_{bd},\qquad T_{mb} = \text{一阶} + \frac{b_{core}}{b_0} \cdot T_{bd}$$

分界条件(MergeBatch 优于 IterBatch 当且仅当 $\Delta = T_{mb} - T_{iter} < 0$):

$$b_{core} > \frac{b_0 \cdot \text{penalty}}{T_{bd}},\qquad - \text{penalty} = \begin{cases} (b_0-1)(T_{comp} + T_{write}) & \text{L1 绑定(}k_{L1} < K\text{)} \\ (b_0^2-1)T_{comp} + (b_0-1)T_{write} & \text{K 截断(}k_{L1} = K\text{)} \end{cases}$$
+ \text{penalty} = \begin{cases} (b_0-1)(T_{comp} + T_{write}) & \text{L1 绑定(}k_{L1} \lt K\text{)} \\ (b_0^2-1)T_{comp} + (b_0-1)T_{write} & \text{K 截断(}k_{L1} = K\text{)} \end{cases}$$

K 截断时 MergeBatch 的 $k_{L1}$ 不减半 → 每分块计算量 $b_0^2$ 倍(而非 $b_0$ 倍)→ drain 惩罚更大。小 MN 时 $T_{comp}$ 小 → penalty 小 → MergeBatch 更容易赢;大 B 时 $b_{core}$ 大 → 边界节省多 → MergeBatch 更容易赢。

条件 1($b_{core} \ge 2b_0$)是该分界在典型 $T_{bd}$ 下的保守近似。精确边界依赖 $T_{bd}$ 实测标定。

L0C 利用率说明:小 MN 时 IterBatch 的 L0C tile($MN \cdot 4\text{B}$)远小于 L0C 容量,MergeBatch 合并后更接近满载。但访存 Bound 下计算被搬移掩盖,L0C 利用率不影响总时延——不构成 MergeBatch 的优势