pub fn reference_eval_lane_reversed(
program: &Program,
inputs: &[Value],
) -> Result<Vec<Value>, Error>Expand description
Execute a program with the workgroup/invocation STEP ORDER reversed.
The result is identical to reference_eval for any RACE-FREE program (every
output slot is written by exactly one lane, or shared slots are touched only by
commutative atomics). It DIFFERS only when a non-atomic cross-lane write-write
race exists, two lanes plain-store the same slot, because the GPU leaves the
winner driver-defined while the single-threaded reference otherwise resolves it
deterministically (last stepped lane wins). Comparing this against
reference_eval therefore surfaces a hidden race the same way a real GPU would
nondeterministically diverge.
ยงErrors
Same as reference_eval.