D116 - A reference oracle for GPU results
Status: decided Date: 2026-09-26
obscene-tool gpuref recomputes each kernel on the CPU in
f64 through the host libm, rounds to
f32, and emits a corpus labelled as a reference. Exact
operations must match it bit for bit; transcendentals are measured
against it. Kernels it cannot judge (f16 packing) are skipped and
counted. The reference stays IEEE-correct and is never taught a device's
behaviour. gpudiff and gpustats canonicalise
hex fields and key lanes by their inputs.
Why: a diff between two runs says only that they differ; a reference says where a device is approximate and where it is exact. A reference adjusted to match a device would stop flagging the behaviour worth finding.
Rejected: device-against-device diffs only. Fabricating a baseline for kernels the reference cannot judge.