diff --git a/BMM算子优化分析_Release/BMM算子优化分析_v0.7.html b/BMM算子优化分析_Release/BMM算子优化分析_v0.7.html index e97fc0a..5cb4ad5 100644 --- a/BMM算子优化分析_Release/BMM算子优化分析_v0.7.html +++ b/BMM算子优化分析_Release/BMM算子优化分析_v0.7.html @@ -365,22 +365,26 @@ $$
对 $B \in [1, 2048]$、$M,N,K \in [1, 10240]$ 按对数网格采样 20736 个 case,严格按上述进入条件分类(BF16),结果:
-采样方式:B ∈ [1, 2048] 全量遍历(2048 个值),M/N/K ∈ [1, 10240] 对数网格采样 60 点/维(值按指数增长:1, 2, 3, 5, 7, 10, 14, 19, 26, 35, ...)。总 case 数 3.2 亿,耗时约 4 分钟。
+为什么不做全量遍历:全量 = 2048 × 10240³ ≈ 2.2×10¹⁵ 个 case。Python 分类器约需 1400 万小时,C 实现约需 6 万小时——完全不可行。对数采样在小值区密集、大值区稀疏,恰好覆盖了分支边界集中的区域。
+分布依赖测度:对数均匀采样和线性均匀采样给出的分支占比不同。对数采样在小值区密集,特殊分支(K=0/1)、降核 ASW(P 小)、StreamK(K 大但 M/N 小)的占比被放大;线性采样被大 shape 主导(M/N/K > 512 占 [1,10240] 的 95%+),ASW_Basic 占比显著升高。本文遍历的目的是验证覆盖性(无空洞),不是统计真实工作负载的分布。
+| 分支 | case 数 | 占比 | B 范围 | 区域特征 |
|---|---|---|---|---|
| ASW_Basic | 7290 | 35.2% | 2 ~ 2048 | 通用:B<C 且 P≥C;或 B≥C 但 L1 四形态不满足(M/N 大) |
| IterBatch | 4544 | 21.9% | 32 ~ 2048 | B≥C、负载均衡、L1 四形态之一满足 |
| 降核 ASW_Basic | 3288 | 15.9% | 2 ~ 128 | P<C 且 K 不满足 StreamK 阈值 → 只用 ⌈P⌉ 核(定义与实现见 §八.6) |
| 特殊分支 | 1728 | 8.3% | 任意 | K=0 / K=1 |
| MergeBatch | 1674 | 8.1% | 128 ~ 2048 | $b_{core}\ge 4$ 且 $MN \le L0C/(2b_0^2\cdot4\text{B})=8192$ 等五条全过 |
| 转Matmul | 1584 | 7.6% | B=1 | 单边 batch=1 |
| StreamK | 628 | 3.0% | 2 ~ 128 | P<C/2 且 K≥8192 |
| 形态 | 命中数 | 说明 |
|---|---|---|
| b) 双 batch 乒乓 | 1787 | 最多:B 大且单 batch 较小 |
| d) 两侧切 K | 1456 | 次之:K 可切段的通用兜底 |
| c) 一侧驻留+对侧切 K | 773 | 单侧可驻留(含 b_core≥2 的半预算预取档 522 个) |
| a) 单 batch 全驻留 | 528 | B=C 附近 |
对照:线性等距采样(M/N/K 步长 256,B 全量,共 1.3 亿 case)下 ASW_Basic 占比升至 92.1%,MergeBatch 降至 3.6%——因为线性采样被大 shape 主导。两种测度的结论一致:无空分支、无覆盖空洞,只是占比不同。
+| 形态 | 命中数 | 占比 | 说明 |
|---|---|---|---|
| b) 双 batch 乒乓 | 2684 万 | 70.5% | 最多:B 大且单 batch 较小 |
| d) 两侧切 K | 741 万 | 19.5% | 次之:K 可切段的通用兜底 |
| c) 一侧驻留+对侧切 K | 370 万 | 9.7% | 单侧可驻留(含 b_core≥2 的半预算预取档) |
| a) 单 batch 全驻留 | 9 万 | 0.2% | B=C 附近的窄区 |
| B | M | N | K | 分支 | 说明 |
|---|---|---|---|---|---|
| 1 | 2048 | 2048 | 2048 | 转Matmul | 单 batch 纯 Matmul |
| 64 | 64 | 64 | 8192 | IterBatch | 小 M×N 但 K 大,形态 d |