pub fn reference_eval_with_dispatch(
program: &Program,
inputs: &[Value],
min_dispatch_elements: u32,
) -> Result<Vec<Value>, Error>Expand description
reference_eval with an explicit grid floor.
The reference interpreter infers its dispatch grid from buffer SHAPES, which
cannot express the per-invocation count of a byte-scan program (the haystack
is packed 4 bytes/u32 and the scan length is a runtime value). Pass the true
grid, e.g. haystack_len for a one-lane-per-byte scan, so the interpreter
covers exactly what the real dispatch config would; otherwise high positions
are silently skipped (the CPU-ref oracle under-fires while the GPU is correct).
min_dispatch_elements is a FLOOR: the interpreter still runs at least the
buffer-inferred grid, so passing 0 is identical to reference_eval.
ยงErrors
Same as reference_eval.