Expand description
Canonical reference execution tree. Generic reference interpreter entry points.
The stable statement-IR reference_eval entry point remains delegated to
the existing invocation simulator until Program stores graph nodes
directly.
Modules§
- expr
- Expression evaluator that gives the parity engine a pure-Rust ground truth
for every
Exprvariant. - node
- Statement executor that gives the parity engine a pure-Rust ground truth
for every
Nodevariant. - op_
count - Thread-local arithmetic-IR-op counting for roofline / complexity analysis. Thread-local counting of arithmetic IR operations executed by the reference interpreter, a backend-agnostic dynamic operation count for roofline / complexity analysis.
- sequential
- Sequential CPU execution model for workgroup parity.
Functions§
- is_
reference_ output - The interpreter’s output ABI, single-homed:
is_reference_outputis the exact predicatereference_evaluses to collect the buffers it returns, andoutput_indexlocates a named output by that predicate. Re-exported so test harnesses never hand-roll (and drift from) the selection. True whenreference_evalRETURNS this buffer among its outputs. This is the SINGLE source of truth for the interpreter’s output ABI:reference_evalcollects exactly these decls, inProgram::buffersorder, into its resultVec. Test harnesses that need the position of a named output MUST useoutput_index(which filters by this predicate) rather than re-deriving the selection, a hand-rolled copy silently drifts (e.g. keying onis_pipeline_live_outalone admitsReadOnlylive-outs the interpreter never returns, shifting every later index). - output_
index - The interpreter’s output ABI, single-homed:
is_reference_outputis the exact predicatereference_evaluses to collect the buffers it returns, andoutput_indexlocates a named output by that predicate. Re-exported so test harnesses never hand-roll (and drift from) the selection. Position of the buffernamewithinreference_eval’s returned outputs, the buffers matchingis_reference_output, inProgram::buffersorder, orNonewhen the program declares no such returned output under that name. - reference_
eval - Execute a vyre IR program on the pure Rust reference interpreter.
- reference_
eval_ lane_ reversed - Execute a program with the workgroup/invocation STEP ORDER reversed.
- reference_
eval_ oob_ report reference_evalplus anOobReportof every out-of-bounds access the interpreter silently absorbed during the run.- reference_
eval_ with_ dispatch reference_evalwith an explicit grid floor.- reference_
eval_ with_ dispatch_ oob_ report reference_eval_with_dispatchplus anOobReport.- run_
arena_ reference - Execute using the statement-IR reference evaluator.
- run_
arena_ reference_ with_ dispatch run_arena_referencewith an explicit grid floor (seereference_eval_with_dispatch).- run_
storage_ graph - Interpret a compact
NodeStoragegraph and return output node values.