open-standards/wai/wai-quantum/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science bc2ee2f516 wai-quantum: sparse Pauli dynamics on the GPU, with the CPU's term set, order and bits
The propagation's sum of terms can now live on a device (quantum_spd::device).
The device runs each step's arithmetic on every term at once: one multiply by
sin, one by cos, one addition where a new term meets an old one, and sign
changes, built without fused multiply-add. The host keeps everything that
decides the term set. A rotation's new terms are found in the table, dead
slots included, and the rest are appended in the order of the terms they came
from by an order-preserving prefix sum. The host counts dead and live terms
and compacts exactly when the CPU does. A truncation hands back the
magnitudes it dropped in table order, and the bound and the value are added
on the host in table order (expectation_on over an SpdDevice).

Ground truth first: HostDevice runs that protocol on the CPU, one term after
another, and is the CPU's propagation bit for bit, final table included, over
100 cases at one thread and many. The CUDA member (CudaSpd; kernels
quantum_fabric::spd, implementation cuda-spd) is certified on SPD_DEFAULT
against the CPU. The corpus is 40 cases on one to four words, with term and
weight caps, layered circuits whose dropped strings come back and are revived
in place, and one exact cancellation. Each case's output is every value,
bound, threshold reached and count, and the final table slot for slot, so a
device that keeps the numbers but not the term set or its order is caught: a
mutant that appended a revived string again survived a corpus of numbers
alone. All six mutants are killed. On the laptop GPU: certified, and 24
wider random cases up to two million terms and the 127-qubit kicked-Ising
circuit are the CPU's results bit for bit.

A pauli job asks with fabric (accelerator, or a member's id or key): its sum
of terms runs on that member, with the CPU's answers byte for byte, and the
result's fabric names the member and its certificate (kernel
wai.quantum.spd/propagate). cpu names the CPU, and a split is refused (J013).
auto keeps the method on the CPU, since no member is measured faster for it.
Its members are discovered apart from the state vector's, and wai-quantum
fabric lists them (pauli, optional, in the tools schema). The CUDA leg
certifies the propagation and kills its mutants; the placement legs run a
pauli job on each member, or see accelerator refused; the container legs
name the protocol's tests. Docs, help, both MCP servers' descriptions, the
guide and the changelog say so; agent docs re-blessed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 22:05:00 -04:00
..
data wai-quantum 0.3.36: molecules and neural quantum states, held to exact answers 2026-10-05 16:15:50 -04:00
answer_conformance.rs wai-quantum: the answer view layer, its codes and conformance set, and correctness records 2026-10-28 08:42:54 -04:00
bit_identity.rs wai-quantum 0.6.12: cheaper contraction trees, from V-cycles and tree annealing 2026-10-20 17:34:17 -04:00
cuda_member.rs wai-quantum 0.4.4: the fabric's CUDA member 2026-10-14 01:14:01 -04:00
cuda_spd.rs wai-quantum: sparse Pauli dynamics on the GPU, with the CPU's term set, order and bits 2026-10-31 22:05:00 -04:00
cuda_sv.rs wai-quantum: the state vector resident on the device, its wider kernels certified on their own 2026-10-31 22:05:00 -04:00
cuda_tensor.rs wai-quantum 0.6.1: the CUDA member's tensor-core kernel 2026-10-16 04:21:11 -04:00
dataflow_member.rs wai-quantum 0.5.2: the dataflow device's vector engine as a member 2026-10-15 01:49:20 -04:00
dsp_member.rs wai-quantum: the signal processor, and its vector unit as a member 2026-10-14 10:47:59 -04:00
fabric_expected.rs wai-quantum WebGPU member: tile review fixes 2026-10-11 23:12:21 -04:00
fabric_placement.rs wai-quantum: sparse Pauli dynamics on the GPU, with the CPU's term set, order and bits 2026-10-31 22:05:00 -04:00
formats_conformance.rs quantum-conformance: other formats, natively and under wasm32-wasip2 2026-10-31 07:16:32 -04:00
formats_mutation.rs wai-quantum: other formats bounded against hostile input, in CI 2026-10-31 07:16:32 -04:00
fpga_member.rs wai-quantum 0.5.0: provenance, sampling members, device programs, OpenCL, a simulated FPGA, f64 on accelerators, and QPU clients 2026-10-14 09:02:11 -04:00
frame_reference.rs wai-quantum 0.3.25: error correction at circuit level, sampled, modelled and decoded exactly 2026-10-04 14:21:56 -04:00
hip_member.rs wai-quantum: the HIP member, the CUDA kernel's text on HIP devices 2026-10-15 05:01:50 -04:00
hip_sv.rs wai-quantum: the state vector resident on the device, its wider kernels certified on their own 2026-10-31 22:05:00 -04:00
hip_wmma.rs wai-quantum 0.6.2: the HIP member's matrix-instruction kernel 2026-10-16 10:07:26 -04:00
intent_conformance.rs wai-quantum: the intent conformance set, natively and under wasm32-wasip2, with a CI leg 2026-10-27 23:44:27 -04:00
metal_matrix.rs wai-quantum: the Metal member, with a SIMD-group matrix kernel 2026-10-16 04:59:05 -04:00
metal_member.rs wai-quantum: the Metal member, with a SIMD-group matrix kernel 2026-10-16 04:59:05 -04:00
metal_tensor_ops.rs wai-quantum: the Metal member's tensor-operation kernel; M5 measured 2026-10-16 10:19:30 -04:00
npu_cores_member.rs wai-quantum: the npu-cores member, the gate on a neural processor's own core 2026-10-15 09:17:34 -04:00
npu_member.rs wai-quantum 0.5.1: the neural-processor member 2026-10-14 09:10:30 -04:00
opencl_member.rs wai-quantum: OpenCL keys carry the device's vendor id, not a word of its name 2026-10-15 08:58:32 -04:00
opencl_sv.rs wai-quantum: the state vector resident on the device, its wider kernels certified on their own 2026-10-31 22:05:00 -04:00
qasm3_conformance.rs wai quantum-conformance/qasm3: the OpenQASM 3 corpus, run natively, under wasm32-wasip2 and in the browser 2026-10-27 19:51:34 -04:00
qec_text_conformance.rs wai-quantum: the error-correction circuit and model text read as written and written back, with tags, Pauli-target observables and decompositions 2026-10-28 08:42:53 -04:00
sme_member.rs wai-quantum 0.5.1: the matrix-extension member (SME), silicon and emulated 2026-10-14 09:26:05 -04:00
tensor_engine_member.rs wai-quantum: the tensor-engine member, the gate's products on a matrix engine 2026-10-15 09:59:37 -04:00
tn_vs_sv.rs wai-quantum 0.3.28: the dense state vector at any angle, the same bits threaded or not 2026-10-04 17:01:39 -04:00
utility_reference.rs wai-quantum 0.3.23: belief-propagation tensor networks, a second method for the same circuits 2026-10-01 20:40:14 -04:00
vector_member.rs wai-quantum: the CPU vector-unit members (avx2, sve, rvv) 2026-10-14 12:01:43 -04:00
webgpu_member.rs wai-quantum fabric: the review of the energy stage, fixed 2026-10-12 15:38:07 -04:00