# Native 512 SSB: fixed-optics caching and launch layout

## Question and unchanged workload

Can changing only C10 reuse the fixed fifth-order optics, tilt and depth to
reduce native 512-square coherent reconstruction time? The acquisition retains
512 × 512 scan positions, 192 × 192 detector pixels and all 9,275 active
bright-field pixels. Counts, preprocessing, calibration, precision and the
`phase_of_mean` estimator are unchanged. This measures redraw, not fitting.

The baseline is revision `e8750f3e3652` plus the previously validated per-launch
coefficient struct. Warm timings synchronize the GPU and return a device-native
phase. Host copies for parity are outside the timing. Private evidence is in
experiment `20261023-ssb-c10-cache`.

## Rejected: per-frequency fixed-optics cache

A four-float record for every frequency/detector pair requires 38.90 GB
(36.23 GiB). On the RTX PRO 6000 Blackwell Workstation Edition, an uncached
reference took 21.06 ms, cached weights 34.08 ms, and cached static phase
33.51 ms (warm medians). Maximum phase errors were 3.27e-6 and 3.14e-5 radians,
respectively. Both variants were rejected; no tolerance was relaxed.

The additive phase decomposition changes floating-point summation order.
The weight-cache error is consistent with altered contraction/rounding across
the storage boundary, but its specific cause was not independently proven.
Extra read traffic is a plausible reason for the slowdown; hardware bandwidth
saturation was not measured. No Nsight counter result is claimed.

## Accepted: bounded launch-layout adjustment

The same coherent kernel uses 64 rather than 32 BF pixels per group, up to 32
rather than 16 partial planes, and 256 rather than 128 threads for native
512-square higher-order reconstruction. Other shapes, fine grids, primary-only
optics, fitting and MPS retain their existing paths. This adds no persistent
frequency/detector cache. At the default workspace limit, the partial buffer
increases from 64 to 128 MiB; the configured chunk-byte bound still applies.

Thirty-two alternating before/after pairs per GPU changed C10 while retaining
all other optics. Excluding the first two pairs gives:

| GPU | Before, ms | After, ms | Approximate gain |
| --- | ---: | ---: | ---: |
| RTX PRO 6000 Blackwell Workstation Edition | 23.05 | 22.12 | 4% |
| RTX PRO 6000 Blackwell Max-Q Workstation Edition | 31.73 | 30.11 | 5% |

All 64 paired full phase comparisons were bit-identical. These are backend
measurements, not notebook FPS. They do not establish 60 fps or a gain on
untested GPU architectures. Different GPU power envelopes must not be reported
as a software speedup.

An instrumented reference on the first GPU spent about 21.5 ms in correction,
1.07 ms reducing partial results and 0.09 ms in inverse FFT/phase extraction.
Instrumentation is separate from the matched speed comparison. Correction
still dominates; launch-layout tuning provides only a modest gain.

## Regression validation

All 47 existing CUDA checks across coherent wave averaging, upsampling,
higher-order optics and the preview benchmark passed. The added native-512
regression also passed after correcting its test invocation. It checks
workspace-bounded reconstruction, changed C10 and repeatability while retaining
joint fifth-order optics, tilt and depth. No notebook image-update rate was
remeasured in this backend-only experiment.
