ruvector/crates/ruvector-diskann/Cargo.toml
Reuven fd7a9fce7d perf(diskann): FlatVectors + VisitedSet + ILP + optional SIMD/GPU
Optimizations applied:
- FlatVectors: contiguous f32 slab (eliminates Vec<Vec> indirection)
- VisitedSet: O(1) clear via generation counter (replaces HashSet)
- 4-accumulator ILP for L2 distance (auto-vectorized)
- Flat PQ distance table (cache-line friendly)
- Parallel medoid finding via rayon
- Zero-copy save (write flat slab directly)
- Optional simsimd feature for hardware NEON/AVX2/AVX-512
- Optional gpu feature with Metal/CUDA/Vulkan dispatch stubs

Results (5K vectors, 128d):
- Search: 90µs → 55µs (1.6x faster)
- Build: 6.9s → 6.2s (10% faster)
- Recall@10: 0.998 (maintained)
- 17 tests passing

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-06 17:52:58 -04:00

28 lines
775 B
TOML

[package]
name = "ruvector-diskann"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "DiskANN/Vamana — SSD-friendly approximate nearest neighbor search with product quantization"
[features]
default = []
gpu = [] # Feature flag for GPU acceleration (CUDA/Metal stubs)
simd = ["simsimd"]
[dependencies]
memmap2 = { workspace = true }
rayon = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
bincode = { workspace = true }
thiserror = { workspace = true }
rand = { workspace = true }
parking_lot = "0.12"
bytemuck = { version = "1.14", features = ["derive"] }
simsimd = { workspace = true, optional = true }
[dev-dependencies]
tempfile = "3.9"