Commit 2145d4e
feat: GPU-native CAGRA filtered search via bitset
Override VectorIndex::search_with_filter for CagraIndex: builds a
bitset from the predicate on host, uploads to GPU, and passes it to
CAGRA's traversal-time filter via search_with_filter (patched cuvs).
Eliminates the 3x over-fetch workaround — k=100 goes directly to GPU
as k=100 with a bitset, not k=300 unfiltered + post-filter. Better
recall for type-filtered and language-filtered queries.
Also:
- Cargo.toml [patch.crates-io] pointing to ../cuvs-patched (local
patched cuvs 26.4 with search_with_filter, upstream PR
rapidsai/cuvs#2019)
- Demoted CAGRA itopk_size clamp warning to debug level
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 3886c5c commit 2145d4e
3 files changed
Lines changed: 6017 additions & 5816 deletions
0 commit comments