wai-quantum 0.5.1: neural-processor, matrix-extension, vector-unit, signal-processor and dataflow members #263
Loading…
Reference in a new issue
No description provided.
Delete branch "wai/quantum-npu"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
wai-quantum 0.5.1: five more members of the fabric, each certified bit-exact against the CPU reference's pinned corpus digests, and the provenance of each certificate stated (silicon, emulator or simulator).
Members
quantum_fabric_npuquantum_fabric_smequantum_fabric_vectoravx2,sveandrvv, the scalable kernels written once for every vector length, the length read back from the unitavx2silicon;sveat 128, 512 and 2048 bits andrvvat 128 and 1024 bits under the emulatorquantum_fabric_dspquantum_fabric_dataflowquantum_fabric::rv32) whose listings an independent assembler turns into the same wordsEvery member: the probe against the CPU's arithmetic, random kernel cases against
lanes::run_words, all four pinned certificates, wide circuits against the native simulator, typed refusals, compiled-in kernel mutants each caught, a sealed receipt, and placement beside the CPU reference.Also:
npu::onnx_limb_modelwrites the neural-processor program in the portable model format (fp16 and int32), withexamples/npu_onnx.rswriting a batch of inputs and the exact products they must give; both models pass the format's checker and give every product exactly on its reference runtime.Found on the way
ci/dsp/predicate_branch.cshows which emulator does which; the workflow builds 11.1.1 from its signed release and runs every suite on it.CI
wai-quantum-npu.yml,wai-quantum-sme.yml,wai-quantum-vector.yml,wai-quantum-dsp.ymlandwai-quantum-dataflow.yml, each with the case where the member is absent and says why, and each gated on whether the pull request's own diff touches it.Follow-up, not in this change
The new members share their host code (gather, range check, certification) by copy; a small row-kernel trait would hold it once.
🤖 Generated with Claude Code
qemu-user reads every QEMU_<option> environment variable as that option, and QEMU_VERSION is -version: with the workflow's QEMU_VERSION=11.1.1 set, the emulator printed its version and exited 0 without running anything. So the bit-identity step found no test results and failed, and the emulator check before it (the predicate-branch probe) passed without having run. Reproduced: QEMU_VERSION=11.1.1 qemu-hexagon-11.1.1 /does/not/exist prints the version and exits 0. The variables are HEXAGON_EMULATOR_VERSION and HEXAGON_EMULATOR_SHA256 now, and the probe's check requires the probe's own statement ("this emulator branches on the low bit"), so an emulator that runs nothing fails it. Co-Authored-By: Claude Opus 5.5 <[email protected]>