open-standards/wai/wai-ops/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 93bd919e12 D2c M1 gate 5: the fast kernels behind the interpreter, held to it
wai-ops: interp::Kernels, a host's kernels for some operators (integer-
operators §6), and run_with, which asks the host first for each operator and
computes it itself where the host declines; the plan, every check and range
policy, the state and every refusal stay the interpreter's. interp::rq exposes
the requantisation so a host's outputs are the interpreter's. run and
run_observed are unchanged (interp::Reference, a host that has none).

wai-rs int_ops: Host lends the interpreter this crate's fast convolution and
transposed convolution (int_kernels::conv_acc_i128, each output finished with
interp::rq) under a fast Policy, and declines under the reference policy, for
geometry the kernel does not cover, operands past its bound, or a value that
would leave i64. run1 runs through it.

Retargeted equivalence, both halves against the interpreter:
- per operator (int_ops::equivalence): 400 random convolutions and transposed
  convolutions, every rounding mode, bias kind and multiplier choice, under every
  fast policy against the interpreter alone; the fast kernel must actually run;
  a check range refuses before any kernel;
- per decoder (tests/int_synth_ops.rs): every committed int_synth vector, and
  the fixtures' base, through the lowering under the reference and four fast
  policies, the same bytes.

The inverse-GDN arm the draft had waits for M4.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 07:48:15 -04:00
..
generate ops-conformance: the vectors whose outcome only load step 8 decides 2026-10-10 09:29:40 -04:00
lower D2c: set the WIP draft aside so the tree builds; M1's gates re-land it in order 2026-10-13 02:35:09 -04:00
proofs wai-ops proofs: harnesses that did not close are gated; CI in seven shards by measured time 2026-10-11 17:16:54 -04:00
stage wai-ops: mans_decode checks its bounds before it builds its tables 2026-10-11 05:08:30 -04:00
bounds.rs wai-ops: a run can be observed, and every golden decode is held to its certificate 2026-10-10 23:16:55 -04:00
code.rs wai-ops: the reference crate for wai-ops/1 (WHG1, plans, interpreter, stage operators, lowerings) 2026-10-09 19:31:38 -04:00
graph.rs wai-ops: the parser's zero check loops to its count; harnesses the checker can finish 2026-10-11 08:37:32 -04:00
interp.rs D2c M1 gate 5: the fast kernels behind the interpreter, held to it 2026-10-13 07:48:15 -04:00
json.rs wai-ops: the reference crate for wai-ops/1 (WHG1, plans, interpreter, stage operators, lowerings) 2026-10-09 19:31:38 -04:00
lib.rs D2c M1 gate 5: the fast kernels behind the interpreter, held to it 2026-10-13 07:48:15 -04:00
limb32.rs wai-ops: limb32, the 32-bit fabric's acc32 product and epilogue 2026-10-10 18:19:13 -04:00
plan.rs wai-ops: the plan's shape rules as functions; the graph harnesses call kernels 2026-10-11 03:37:44 -04:00
sha256.rs wai-ops: the reference crate for wai-ops/1 (WHG1, plans, interpreter, stage operators, lowerings) 2026-10-09 19:31:38 -04:00
vectors.rs wai-ops: load step 8, the bounds pass and the certificate (D2b) 2026-10-10 09:26:27 -04:00
xint.rs wai-ops: the seams the model checker needs, with no change in behaviour 2026-10-10 18:19:13 -04:00