Claude (noether)
5b541d596e
Shader CHAMPION converged: 28 t/s (4.8x), correctness-gated; f16acc refused; ~15% left is quantize-dispatch (profile, not tile)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-11 19:11:46 +02:00
Claude (noether)
6ee32814b2
Shader iter6: BK_STEP=1 regressed (barrier crossover); BK_STEP=2 is sweet spot, reverted to iter5 champion
2026-07-11 18:36:21 +02:00
Claude (noether)
220a3b1667
Shader iter5 CHAMPION: scoped BK_STEP (spec const 11) -> L=28 t/s, M restored to 20.6 (clean)
2026-07-11 18:27:38 +02:00
Claude (noether)
1e23ce0cd2
Shader iter4: BK_STEP=2 -> L path 28 t/s (+9%), but M regressed (global #define); needs L-scoping
2026-07-11 18:15:53 +02:00
Claude (noether)
05f240ef6c
Shader iter3 CHAMPION: BLOCK 256 same-registers -> ub128 25.8 t/s (+10%), spill-free
...
Shared-occupancy is the lever. Progression 5.8->23.4->26.2 t/s (~30% roofline). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-11 17:58:10 +02:00
Claude (noether)
2600465c3c
Shader iter2: 32-acc tile REGRESSED 2.4x -> occupancy-bound, not AI-bound; iter1 champion
2026-07-11 17:44:52 +02:00
Claude (noether)
272604b10d
Shader iter1: Mali L-warptile (WM=WN=16) -> ub128 4x (5.8->23.4 t/s), spill 5328->96
...
Confirms the ceiling was the desktop-tuned shader, not the hardware. Per-thread acc = WM*WN/WARP
(matches our tls_size instrument to the byte). Large ubatch now beats the ub64 ceiling + CPU.
~25-30% of roofline; iter2 grows the tile. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-11 17:29:55 +02:00