Repository navigation
What's Changed
🚨 Breaking Changes
- Apply ABI Breaking Changes for KMeans by @tarang-jain in #2147
- Containerize standalone tarball build by @jameslamb in #2595
- Migrate stream APIs from rmm::cuda_stream_view to cuda::stream_ref by @bdice in #2521
- Iterative CAGRA-Q by @irina-resh-nvda in #1810
- FIX IVF-RabitQ: allow searching after building without serialize round-trip by @achirkin in #2664
🐛 Bug Fixes
- Fix missing trailing barrier in ivf_rabitq blockReduceSum by @hhy3 in #2322
- Use
mainbranch for C ABI baseline by @jrbourbeau in #2388 - Improve C ABI struct change error handling by @jrbourbeau in #2386
- [WIP] Preload cudart before cuvs native library load to prevent downstream class load errors by @rahulgoswami in #2376
- Fix benchmark regressions from #1846 by @achirkin in #2384
- fix knn_merge_parts for inner product by @qwertyforce in #2426
- Fix
cuvs-benchopensearch recall and save results by @jrbourbeau in #2369 - Fix CAGRA-ACE regressions from #1846 by @julianmi in #2416
- Remove unused extend code in cagra by @aamijar in #2436
- Fix batched silhouette score reduction aliasing by @csadorf in #2422
- Align views with partial batch extents for SNMG ANN direct merge by @viclafargue in #2441
- Fix devcontainer cache version updates by @bdice in #2479
- Fix silent brute force fallback at aligned vector dimensions by @imotov in #2483
- Fix intermittent ThreadLeak failures in the concurrent IT tests by @imotov in #2499
- Fix
cuvsbuild due tormmandcuCollectionsapi changes by @jcrist in #2504 - [CI] Update Convergence Criteria to Fix Flaky KMeans Test by @tarang-jain in #2256
- Keep cufile.log out of the Java source tree by @imotov in #2553
- Match merged vectors by document id, not by ordinal position by @imotov in #2556
- Fix hnswlib cmake download only by @aamijar in #2638
- Fix creation of
hnswlibtarget by @KyleFromNVIDIA in #2643 - Lucene: add exact search fallback for very selective filters by @imotov in #2612
- Lucene: Fix GPU search failing on segments with no live vectors by @imotov in #2637
- Disable AnnNNDescentTestUI8_U32 until release/26.10 is complete by @aamijar in #2656
📖 Documentation
- Fix the build_knn_graph sample code by @enp1s0 in #2339
- Adding new docs link(s) to readme. Adding landing page for API refs by @cjnolet in #2228
- Keep the Fern API reference in sync with the sources by @imotov in #2547
- Sync up API docs with code by @imotov in #2561
- Adds a Lucene API section to the Fern docs, generated from java/cuvs-… by @imotov in #2580
- Move Lucene getting-started guide to Fern, expand install and examples by @imotov in #2640
🚀 New Features
- rust: expose cuvsVersionGet via safe Rust by @yan-zaretskiy in #2409
- Fast CAGRA Index Merge by @landrumb in #2352
- Add missing HNSW bindings by @julianmi in #2307
- Generate cubins from
cutileat build time and embed them in C++ DSO by @divyegala in #2548 - New 1-nn primitive using
cutileby @divyegala in #2552 - Add HNSW Layered Index Support by @julianmi in #2148
- Roaring Bitmap Filter in CAGRA by @divyegala in #2446
🛠️ Improvements
- java: get nightly test matrix from shared-workflows by @jameslamb in #2340
- Update RAPIDS.cmake to log source of rapids-cmake by @arhag23 in #2302
- perf(brute_force): skip csr_to_coo on inner-product filtered search by @maxwbuckley in #2128
- Remove libclang pin from clang dependency group by @vyasr in #2263
- enforce 'yamllint' checks by @jameslamb in #2357
- Main merge release/26.08 by @cjnolet in #2392
- Brings the Java build in line with other clients. by @imotov in #2361
- Fix forward merge from
26.08intomainby @cjnolet in #2411 - ensure nightly builds always produce new packages, expand 'changed-files' lists by @jameslamb in #2414
- Factor CAGRA graph kernels into shared translation unit by @landrumb in #2412
- perf(brute_force): add scatter-gather path and fix filtered-search dispatch thresholds by @maxwbuckley in #2321
- Add cuvs-bench-elastic: HTTP backend for Elasticsearch GPU vector search by @afourniernv in #1907
- Add Gaussian Mixture Models (GMM) by @Intron7 in #2248
- fix(update-version): don't blanket replace the word main with release branch in README.md by @gforsyth in #2421
- wheels: enforce 'abi3audit' checks by @jameslamb in #2439
- Cuvs lucene move by @imotov in #2353
- Use librtcx for JIT-LTO by @arhag23 in #2311
- ci: avoid triggered-by-schedule and triggered-by-merge builds cancelling each other by @jameslamb in #2486
- Make run_spotless.sh more verbose and strict by @imotov in #2485
update_datasetCAGRA by @aamijar in #2427- Improve the exception message when cuvs-java is not supported by @imotov in #2495
- Add cuVS overview image to docs home page by @cjnolet in #2514
- ACE: Harden npartitions Check by @julianmi in #2282
- CAGRA-ACE: Make Disk Workspaces Transactional and Non-destructive by @julianmi in #2336
- Replace O(N*degree^2) dedup with per-thread bit-packed bitset by @jamxia155 in #2437
- Lucene: preserve throwable types in accelerated vector formats by @shaunakkapur in #2515
- test: isolate library wheel smoke test, add missing 'cuda-pathfinder' dependency for 'libcuvs' by @jameslamb in #2524
- Delete stale Panama bindings instead of generating on top of them by @imotov in #2511
- Add KvikIO to Improve I/O Throughput by @julianmi in #2257
- Dry run: preprocessing::quantize::scalar by @achirkin in #2519
- Fix: reduce recall calculation time at small batch by @sherylll in #2513
- Vamana build optimization set and fp16 support by @bkarsin in #2264
- Enable security scanning via NVIDIA/security-workflows suite by @gmanal in #2430
- Lucene: Merge CAGRA indexes on the GPU instead of rebuilding from vectors by @imotov in #2497
- Adopt CUDA stream compatibility accessors by @bdice in #2557
- Move Java example projects under examples/java/ by @imotov in #2543
- Optimize cuvs-lucene CAGRA_HNSW index build; add example by @jamxia155 in #2481
- Fix CMake discovery for wheel dependencies by @bdice in #2565
- wheels: get 'tileiras' from system install, not 'cuda-toolkit' wheels by @jameslamb in #2564
- [ANN_BENCH] Remove Stream Pool Creation from Individual Wrappers by @tarang-jain in #2526
- Revert "Optimize cuvs-lucene CAGRA_HNSW index build; add example (#2481)" by @imotov in #2597
- Enable ARM (aarch64) support for cuvs-java and cuvs-lucene by @imotov in #2541
- Optimize transfer/compute overlap in out-of-core KMeans by @viclafargue in #2538
- Add support for BBQ compressed datasets in NN-Descent and CAGRA by @lowener in #2654
New Contributors
- @hhy3 made their first contribution in #2322
- @landrumb made their first contribution in #2412
- @rahulgoswami made their first contribution in #2376
- @afourniernv made their first contribution in #1907
- @sherylll made their first contribution in #2513
- @gmanal made their first contribution in #2430
Full Changelog: v26.10.00a...v26.10.00