v26.08.00
What's Changed
🚨 Breaking Changes
- Auto select CAGRA build algorithm for hnsw::build by @tfeher in #1719
- Track tensor and index lifetimes in the Rust DLPack bindings by @yan-zaretskiy in #2245
- wheels: build CUDA 13 wheels with latest CTK (13.3.0) by @jameslamb in #2305
- [FEA] Multi-node Out of Core Streaming KMeans API by @tarang-jain in #2066
- Rust: builder-based params, per-module errors by @yan-zaretskiy in #2284
- [KMeans] Rename streaming_batch_size param by @tarang-jain in #2328
- Update DLPack to 1.0 by @divyegala in #2354
- Apply ABI Breaking Changes to KMeans Params (release branch) by @tarang-jain in #2329
- Revert "Update DLPack to 1.0 (#2354)" by @bdice in #2366
- [REVIEW] New Dataset API Clarifying Ownership by @HowardHuang1 in #1846
🐛 Bug Fixes
- [CI nightly] Temporarily disable conda-python-tests codecov reporting by @aamijar in #2274
- Exclude SPDX copyright lines from .clang-format by @achirkin in #2275
- Fix
FastIntDivtparam by @aamijar in #2278 - CAGRA: fix concurrent initialization and usage of dataset descriptor by @achirkin in #2237
- Revert "FIX: disable warpspeed scan (#2062)" by @bdice in #2074
- Predict IVF-PQ FP16 overflow and auto-switch to FP32 by @huuanhhuyn in #2246
- Update .clang-format to fix copyright and style check by @HowardHuang1 in #2304
- Fix batched silhouette score stream ordering by @csadorf in #2316
- fix(pre-commit): normalize SPDX handling by @bdice in #2318
- Remove fragile explicit import that breaks with jextract/CUDA changes by @imotov in #2124
- Remove trailing new lines from GTest names by @robertmaynard in #2312
- Update Comparison Branch for ABI Stability Git Workflow by @tarang-jain in #2331
- CAGRA ACE build: avoid rounding down graph degree during sub-index build by @achirkin in #2335
- [BUG] Fix CAGRA search recall with a graph built by NN Descent by @enp1s0 in #819
- Fix IVF extend list resize bug by @qwertyforce in #2297
- Use batched unfused 1-NN for KMeans on Blackwell by @viclafargue in #2346
- Fix prefilter bitmap host buffer under-allocation in Java bindings by @imotov in #2375
- Fix incorrect distances tensor type in cuvsCagraSearch by @imotov in #2372
📖 Documentation
- Update cuvs-bench docs to show both CLI and Python API usage by @jnke2016 in #2084
- doc: fix better the python api example by @yihong0618 in #2080
- docs: RAFT->cuVS in issue templates by @jameslamb in #2097
- Updating Fern and fixing a couple small links by @cjnolet in #2210
- Adding nvidia as the "global-theme" by @cjnolet in #2216
- remove pypi.nvidia.com from install docs by @jameslamb in #2223
- Add code of conduct by @aamijar in #2272
- Readme: ivf-rabitq paper in references by @aamijar in #1877
- contributing.md link to docs by @aamijar in #2119
- Enable multi-source docs for cuVS Fern instance by @aschilling-nv in #2277
- Remove legacy RAPIDS Doxygen theme assets by @bdice in #2286
🚀 New Features
- Add JIT-LTO based filter UDF support for CAGRA by @dantegd in #2132
- Support IVF-RaBitQ in cuVS Library by @Stardust-SJF in #1866
- Improve CAGRA-Q performance and add support for PQ_LEN=8 by @enp1s0 in #1533
- Expose raft::memory_tracking_resources to C/Python/Java/Rust by @achirkin in #2073
- Scripts for Billion-Scale Synthetic Data Generation by @jinsolp in #2247
- Add CAGRA build heuristics independent of HNSW parameters by @achirkin in #2345
- CAGRA Bloom Filter by @divyegala in #2236
🛠️ Improvements
- Enforce smaller wheel sizes by @KyleFromNVIDIA in #2089
- Require CMake 4.0 by @KyleFromNVIDIA in #2078
- Use L2 for IVF-PQ coarse clustering when the main metric is IP by @yan-zaretskiy in #2076
- Improve devcontainer startup times by @trxcllnt in #2109
- fix(visibility): add symbol visibility controls to cuvs by @vyasr in #2101
- [REVIEW] Add OpenSearch backend to
cuvs-benchby @jrbourbeau in #2012 - Forward merge fix by @cjnolet in #2140
- Add SECURITY.md by @jameslamb in #2139
- merge release/26.06 into main by @jameslamb in #2146
- IVF-SQ Python API by @viclafargue in #1913
- fix(ci): fix configuration for breaking change notification workflow by @jameslamb in #2151
- [FEA] JIT LTO Pairwise Distances by @tarang-jain in #2099
uint64header support forcuvs_benchby @jinsolp in #2130- refactor: switch to
rapids-artifact-namefor consistent artifact naming by @gforsyth in #2136 - Build and test with CUDA 13.3.0 by @bdice in #2226
- Require C++20 for C++ CUDA examples by @HowardHuang1 in #2244
- Use main shared-workflows branch by @bdice in #2259
- Switch to public RAFT numpy_serialize APIs by @julianmi in #2038
- fix(java): use Maven mirror, remove unnecessary plugins, other CI-stability improvements by @jameslamb in #2253
- Update CODEOWNERS team names for rapidsai->NVIDIA migration by @josephine-wolf-oberholtzer in #2261
- Re-enable verify-codeowners pre-commit check by @josephine-wolf-oberholtzer in #2270
- Temporarily disable conda-python-tests codecov reporting by @josephine-wolf-oberholtzer in #2271
- Upgrade faiss to 1.14.3 by @aamijar in #2134
- Update CuPy and NumPy dependency specs by @bdice in #2260
- Harden multi-GPU ANN tests for larger GPU counts by @viclafargue in #2280
- SNMG Batched KMeans Python API by @viclafargue in #2154
- Re-enable Python code coverage by @josephine-wolf-oberholtzer in #2290
- fix(deps): try to dynamically load nvrtc from wheel by @gforsyth in #2299
- switch from 'cuda-python' to specific components (e.g. 'cuda-bindings') by @jameslamb in #2294
- Switch Product Quantization VQ to mean() when n_centers = 1 by @lowener in #2250
- Native row-major PCA by @aamijar in #2125
- Add build option to overwrite libraft logging level by @huuanhhuyn in #2276
- Add missing memory estimates by @huuanhhuyn in #2255
- update actions/checkout to fix zizmor by @arhag23 in #2327
- Empty commit to trigger a build by @bdice in #2341
- Improve balanced k-means rebalancing by @anaruse in #2222
- All-neighbors graph on host memory by @jinsolp in #2313
- Multi partition cagra search by @jamxia155 in #2035
New Contributors
- @yihong0618 made their first contribution in #2080
- @HowardHuang1 made their first contribution in #2244
- @Stardust-SJF made their first contribution in #1866
- @josephine-wolf-oberholtzer made their first contribution in #2261
- @aschilling-nv made their first contribution in #2277
- @huuanhhuyn made their first contribution in #2246
- @qwertyforce made their first contribution in #2297
Full Changelog: v26.08.00a...v26.08.00