Bit-Plane Dispersion Scan
Exact top-K inner-product search over int8 vectors that reads the corpus one bit plane at a time. Each pass scores the remaining candidates with popcounts on packed planes, bounds what the unread planes could add, and drops every candidate whose upper bound falls below the K-th best lower bound.
WebGPU unavailable
This browser does not expose navigator.gpu. The GPU scan needs a WebGPU-capable browser (Chrome or Edge 113+, Safari 26+, or Firefox with WebGPU enabled). The CPU reference below still runs, so you can inspect survivor counts and bytes per pass.
Corpus and query
Idle.
Result
Generate a corpus, then run.
Passes (first query; counts averaged over all queries in the last column)
| Pass | Planes read | Unread r | In | Out (GPU) | Out (CPU ref) | Survive | Bytes read | GPU ms | Mean out, all q |
|---|---|---|---|---|---|---|---|---|---|
| No run yet. | |||||||||
What is verified where
- The CPU reference column is a JavaScript port of
reference.py, operation for operation, including float32 rounding of the bounds. The page checks GPU top-K against GPU brute force and against CPU brute force, and GPU survivor counts against the CPU port. - GPU timings come from
timestamp-querywhen the adapter has it, otherwise from wall-clock time aroundonSubmittedWorkDone. Before publishing, the kernels were only run on SwiftShader, a software rasterizer. Treat the timings as this machine's numbers. - Bytes read count every storage-buffer read in the pipeline: plane words, scales, residual norms, carried indices and partial dots, four radix-histogram rounds and the compaction read. Readback is excluded.