research(nightly): symphonyqg — co-designed 1-bit graph quantization (SIGMOD 2025)#428
Draft
research(nightly): symphonyqg — co-designed 1-bit graph quantization (SIGMOD 2025)#428
Conversation
…+quantization (SIGMOD 2025) Implements SymphonyQG (arXiv:2411.12229) as a new standalone workspace crate. Core innovation: vertex out-degree padded to BATCH_SIZE=32 so every XNOR-popcount pass fills a complete SIMD register; 1-bit RaBitQ codes stored inline with adjacency list entries, eliminating the per-neighbour random cache miss. Deliverables: - crates/ruvector-symphonyqg/ — working Rust PoC with 7/7 tests green - FlatExactIndex (oracle), GraphExactIndex (HNSW-style), SymphonyIndex - batch_hamming_dist() auto-vectorised by LLVM (VPXOR + VPOPCNTQ) - cargo build --release && cargo test both pass - docs/research/nightly/2026-05-07-symphonyqg/README.md — full research doc - docs/adr/ADR-191-symphonyqg-inline-fastscan-graph.md — ADR Real benchmark numbers (x86_64 Linux, dim=128, n=5K, ef=100): GraphExact 97.2% recall 2,971 QPS SymphonyQG 97.6% recall 6,258 QPS (+2.11×) Speedup grows to 3.61-4.14× at n=50K. https://claude.ai/code/session_01MCchHSG8iD1qRXEK1Gq3kc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SymphonyQG: Co-Designed Quantization + Graph for In-Register ANN Search
Nightly research sprint 2026-05-07. Implements SymphonyQG (SIGMOD 2025, arXiv:2411.12229) as a new standalone workspace crate
ruvector-symphonyqg.Core innovation
Vertex out-degree padded to BATCH_SIZE=32 so every XNOR-popcount pass fills a complete SIMD register with no wasted lanes. 1-bit RaBitQ codes stored inline with adjacency list entries, eliminating the per-neighbour random cache miss.
Real benchmark numbers (x86_64 Linux, dim=128, n=5K, ef=100)
Speedup grows to 3.61–4.14× at n=50K.
Files
crates/ruvector-symphonyqg/— 7/7 tests pass,cargo build --releasegreendocs/research/nightly/2026-05-07-symphonyqg/README.md— full SOTA survey + resultsdocs/adr/ADR-191-symphonyqg-inline-fastscan-graph.md— decision recordGist: https://gist.github.com/ruvnet/1788e3da38e5565353cc17fae9fe8a1a
Nightly research agent · 2026-05-07