### The integer decoders' narrow kernel sets: the same bytes, measured again

- **Kernel sets** (`wai-rs` `int_kernels::Isa`, chosen by the processor's features or by
  `WAI_INT_ISA`): narrow convolution kernels on NEON, AVX2, AVX2 with VNNI, AVX-512 and
  AVX-512 with VNNI. Each convolution's sums are formed from 16-bit operands (an input past
  2^15 − 1 split into two 15-bit limbs) in 32-bit partial sums over blocks of taps sized so
  that no partial sum leaves `i32`, then in 64-bit sums under the bound the interpreter
  already requires; the inverse GDN's norms run in 64-bit SIMD lanes on x86_64, its roots
  are seeded from the IEEE-754 square root and corrected in integers, and `rescale`,
  `clamp`, `relu` and `leaky` run on the fast workers, the requantisation in `i64` where its
  values fit. The wide kernels stay as the `wide` set, and run wherever a narrow plan does
  not apply. No output byte, hash or conformance vector changes.
- **Tests.** Every decoder-level equivalence test runs each kernel set the processor runs
  (`int_kernels::equivalence_policies`); `tests/int_ops_conformance.rs` decodes every graph
  vector of `ops-conformance/` through the fast kernels under each and holds it to the
  stated integers; random geometry against the exact sums, the block and limb edges, the
  seeded root, the requantisation and the element-wise operators each have their own test.
- **Measured** ([research/determinism-cost.md](research/determinism-cost.md) §4.6, the same
  record and procedure): the 192 `int_hyper` payloads decoded again on every platform with
  each kernel set, identical to the record's decodes; and the record's time and energy runs
  repeated beside the record's own build and the float decoder, on x86_64 host A, x86_64
  host B (the integer decode only) and the build host.
  [determinism-tiers](extensions/determinism-tiers.md) §7.1 quotes them.

