# 2026-09-10 native pointwise fusion：完整 24-case 表

这是完整矩阵 `matrix-replay`，不是四 case pilot。全部 24 cases、432 visits
完成且通过独立审计；完整协议、负结果与解释见 [notes.md](notes.md)。

Apple M1 Max，FP32，CPU 单 worker，固定 W8/local=8/block=32。计时为共同 C++
timer 调用实际 native entry 的 host-wall µs；计入必要 traversal/reset、生成代码
内的 libc/internal allocation，排除 Runtime/Python/JIT/调用方 allocation。
它不是硬件周期、Runtime E2E 或 MPS/Metal 对照。当前 off/on 均为 LLVM22，
不得与 9 月 9 日 LLVM21 的旧 off 绝对时间拼接。

每 case 三种 variant 的全部六种访问顺序，每 visit 七个样本。时间是六个
visit 中位数的中位数；比值是六个同轮比值的中位数。**比值不是显示时间相除**。
下表保留所有 cases，未按结果筛除。数字显示三位小数，胜轮数使用未舍入值。

## 完整时间与配对中位比值

`相同` 表示当前 off/on 的实际 ORC object 字节完全一致，不代表其与旧 LLVM21
对象相同。这八个控制项上的时间变化不是 fusion 的编译优化收益。

| Case | Off µs | On µs | Inductor µs | On/off | On/Inductor | Off/Inductor | Off/on object |
|---|---:|---:|---:|---:|---:|---:|---|
| RMSNorm 17×65 | 0.255 | 0.255 | 0.742 | 1.001 | 0.344 | 0.344 | 相同（控制） |
| RMSNorm 129×768 | 24.394 | 24.791 | 60.464 | 1.015 | 0.409 | 0.403 | 相同（控制） |
| RMSNorm 257×1538 | 110.492 | 110.635 | 241.764 | 1.008 | 0.457 | 0.457 | 相同（控制） |
| RMSNorm 1024×4097 | 1176.221 | 1168.502 | 2639.107 | 0.993 | 0.442 | 0.446 | 相同（控制） |
| LayerNorm 17×65 | 0.432 | 0.631 | 0.583 | 1.457 | 1.084 | 0.744 | 不同 |
| LayerNorm 129×768 | 42.186 | 36.807 | 68.998 | 0.870 | 0.533 | 0.612 | 不同 |
| LayerNorm 257×1538 | 176.617 | 178.551 | 475.548 | 1.012 | 0.376 | 0.371 | 不同 |
| LayerNorm 1024×4097 | 1940.131 | 1913.238 | 5090.398 | 0.988 | 0.376 | 0.381 | 不同 |
| Masked softmax 17×65 | 3.569 | 3.580 | 2.186 | 1.003 | 1.638 | 1.630 | 相同（控制） |
| Masked softmax 129×768 | 233.765 | 234.185 | 174.321 | 1.002 | 1.344 | 1.344 | 相同（控制） |
| Masked softmax 257×1538 | 1086.276 | 1087.781 | 690.233 | 1.000 | 1.579 | 1.577 | 相同（控制） |
| Masked softmax 1024×4097 | 11689.860 | 11698.531 | 7708.328 | 1.001 | 1.521 | 1.522 | 相同（控制） |
| SwiGLU 17×65 | 1.652 | 1.560 | 1.330 | 0.943 | 1.172 | 1.243 | 不同 |
| SwiGLU 129×768 | 139.006 | 123.188 | 118.385 | 0.885 | 1.039 | 1.176 | 不同 |
| SwiGLU 257×1538 | 567.299 | 501.811 | 475.745 | 0.885 | 1.057 | 1.198 | 不同 |
| SwiGLU 1024×4097 | 6080.755 | 5391.599 | 5120.716 | 0.883 | 1.032 | 1.178 | 不同 |
| GELU + residual 17×65 | 3.116 | 3.057 | 4.840 | 0.978 | 0.632 | 0.641 | 不同 |
| GELU + residual 129×768 | 253.256 | 236.855 | 428.102 | 0.940 | 0.553 | 0.589 | 不同 |
| GELU + residual 257×1538 | 1043.544 | 976.028 | 1744.136 | 0.947 | 0.555 | 0.589 | 不同 |
| GELU + residual 1024×4097 | 11191.979 | 10529.974 | 18649.666 | 0.943 | 0.561 | 0.610 | 不同 |
| RoPE 17×66 | 0.148 | 0.251 | 0.106 | 1.702 | 2.370 | 1.386 | 不同 |
| RoPE 129×768 | 28.370 | 16.276 | 15.084 | 0.574 | 1.083 | 1.879 | 不同 |
| RoPE 257×1538 | 125.556 | 66.438 | 70.174 | 0.527 | 0.943 | 1.731 | 不同 |
| RoPE 1024×4098 | 1325.839 | 913.279 | 1061.968 | 0.695 | 0.880 | 1.267 | 不同 |

## 六轮配对范围与胜轮

范围为同 case 六轮的最小/最大比值，**不是置信区间**；小于 1 表示分子更快。
桌面 coactivity 已记录，不能假定被访问顺序完全抵消。On/Inductor 共 13/24 个
case 的配对中位数小于 1、77/144 胜轮；这是描述该固定开关的结果，不是 solver
找到的逐 case 最优值。比如 257×1538 RoPE 的中位数胜出，但有一轮仍输给 Inductor。

| Case | On/off 范围 | 胜轮 | On/Inductor 范围 | 胜轮 | Off/Inductor 范围 | 胜轮 |
|---|---:|---:|---:|---:|---:|---:|
| RMSNorm 17×65 | 0.991–1.012 | 3/6 | 0.342–0.355 | 6/6 | 0.342–0.351 | 6/6 |
| RMSNorm 129×768 | 0.983–1.022 | 1/6 | 0.408–0.415 | 6/6 | 0.401–0.422 | 6/6 |
| RMSNorm 257×1538 | 0.993–1.069 | 2/6 | 0.451–0.488 | 6/6 | 0.450–0.459 | 6/6 |
| RMSNorm 1024×4097 | 0.981–1.017 | 4/6 | 0.438–0.451 | 6/6 | 0.442–0.450 | 6/6 |
| LayerNorm 17×65 | 1.455–1.465 | 0/6 | 1.077–1.092 | 0/6 | 0.740–0.746 | 6/6 |
| LayerNorm 129×768 | 0.864–0.884 | 6/6 | 0.531–0.537 | 6/6 | 0.607–0.619 | 6/6 |
| LayerNorm 257×1538 | 1.008–1.015 | 0/6 | 0.374–0.377 | 6/6 | 0.371–0.372 | 6/6 |
| LayerNorm 1024×4097 | 0.982–1.019 | 5/6 | 0.373–0.389 | 6/6 | 0.377–0.390 | 6/6 |
| Masked softmax 17×65 | 0.992–1.018 | 1/6 | 1.630–1.655 | 0/6 | 1.625–1.645 | 0/6 |
| Masked softmax 129×768 | 0.973–1.009 | 2/6 | 1.323–1.349 | 0/6 | 1.333–1.360 | 0/6 |
| Masked softmax 257×1538 | 0.929–1.009 | 3/6 | 1.569–1.621 | 0/6 | 1.561–1.701 | 0/6 |
| Masked softmax 1024×4097 | 0.982–1.008 | 2/6 | 1.475–1.554 | 0/6 | 1.464–1.552 | 0/6 |
| SwiGLU 17×65 | 0.928–0.946 | 6/6 | 1.152–1.187 | 0/6 | 1.221–1.263 | 0/6 |
| SwiGLU 129×768 | 0.849–0.894 | 6/6 | 1.019–1.050 | 0/6 | 1.162–1.209 | 0/6 |
| SwiGLU 257×1538 | 0.850–0.888 | 6/6 | 1.034–1.064 | 0/6 | 1.172–1.241 | 0/6 |
| SwiGLU 1024×4097 | 0.842–0.950 | 6/6 | 1.019–1.093 | 0/6 | 1.122–1.231 | 0/6 |
| GELU + residual 17×65 | 0.957–1.018 | 5/6 | 0.606–0.651 | 6/6 | 0.633–0.654 | 6/6 |
| GELU + residual 129×768 | 0.900–0.941 | 6/6 | 0.552–0.556 | 6/6 | 0.586–0.615 | 6/6 |
| GELU + residual 257×1538 | 0.912–0.970 | 6/6 | 0.550–0.594 | 6/6 | 0.572–0.613 | 6/6 |
| GELU + residual 1024×4097 | 0.893–1.003 | 5/6 | 0.541–0.605 | 6/6 | 0.560–0.620 | 6/6 |
| RoPE 17×66 | 1.664–1.752 | 0/6 | 2.349–2.404 | 0/6 | 1.363–1.425 | 0/6 |
| RoPE 129×768 | 0.559–0.605 | 6/6 | 1.033–1.147 | 0/6 | 1.808–1.936 | 0/6 |
| RoPE 257×1538 | 0.505–0.584 | 6/6 | 0.852–1.011 | 5/6 | 1.689–1.912 | 0/6 |
| RoPE 1024×4098 | 0.592–0.806 | 6/6 | 0.812–0.969 | 6/6 | 1.203–1.371 | 0/6 |

## 阅读结论时保留的边界

- 小 RoPE 17×66：On/off 1.702，六轮均回退；小 LayerNorm 17×65：
  On/off 1.457，六轮均回退，且由 off 胜 Inductor 变为 on 输 Inductor。
- 257×1538 LayerNorm：On/off 1.012，六轮均略慢；不能因绝对差小而删行。
- SwiGLU 四尺寸 On/off 均改善，但 On/Inductor 的全部 24 轮仍大于 1。
- RMSNorm 和 masked softmax 的八个 object-identical 控制项仍产生跨轮波动。
  masked softmax 尚未受这个 pointwise 开关优化；不因此推断所有 softmax
  realization 都无优化空间。
- 默认不开启、未拟合 cost、未证明 automatic planner 或跨硬件泛化。
  pilot 的负结果保留在 notes，不能用本矩阵覆盖掉此前观测。
