Skip to content

Releases: rapidsai/cuvs

v25.06.00

05 Jun 20:15
v25.06.00
2e20f1e
Compare
Choose a tag to compare

🚨 Breaking Changes

  • [Java] Adding support for prefiltering in CAGRA (#870) @punAhuja

🐛 Bug Fixes

  • Fix failing CAGRA merge google tests for 25.06 (#974) @rhdong
  • Fix for recent NCCL resource update (#968) @viclafargue
  • Revert "Fix kmeans::predict argument order (#915)" (#951) @divyegala
  • IVF-PQ tests: fix segfault when accessing empty lists (#933) @achirkin
  • batch_load_iterator shall copy data located in host memory (#926) @tfeher
  • Fix kmeans::predict argument order (#915) @enp1s0
  • ANN_BENCH: fix the reported core count (#896) @achirkin
  • CUVS_ANN_BENCH_SINGLE_EXE: find the mg library (#890) @achirkin
  • [FIX] Revert negated InnerProduct distance for NN Descent (#859) @jinsolp
  • IVF-PQ tests: fix segfault when accessing empty lists (#838) @achirkin
  • [CuVS-Java] Automate panama bindings generation, Include IVF_PQ parameters in CAGRA index parameters and other changes (#831) @narangvivek10
  • Ann-bench: fix unsafe lazy blobs (#828) @achirkin
  • Fix test_brute_force conversion (#821) @lowener
  • [FEA] New algos and updates/corrections to Faiss cuvs-bench (#677) @tarang-jain

📖 Documentation

🚀 New Features

🛠️ Improvements

  • Update score calculation for CAGRA-Q instance selection (#938) @enp1s0
  • [FEA] Use Native Brute Force for Sparse Pairwise KNN (#927) @tarang-jain
  • use 'rapids-init-pip' in wheel CI, other CI changes (#917) @jameslamb
  • ANN_BENCH: Avoid repeated calls to raft::get_device_for_address in CAGRA search (#908) @achirkin
  • [Java] New off-heap Dataset support for CAGRA and Bruteforce (#902) @chatman
  • Finish CUDA 12.9 migration and use branch-25.06 workflows (#901) @bdice
  • Update to clang 20 (#898) @bdice
  • get Java artifacts from GitHub Actions artifact store (#893) @jameslamb
  • Quote head_rev in conda recipes (#892) @bdice
  • [Java] Exposing merge API for multiple CAGRA indices (#891) @punAhuja
  • Expose ivf-flat centers to python/c (#888) @benfred
  • CUDA 12.9 use updated compression flags (#887) @robertmaynard
  • Expose ivf-pq centers to python/c (#881) @benfred
  • Accept host inputs in python for ivf-pq build and extend (#880) @benfred
  • Add tiered_index support (#879) @benfred
  • Exclude librmm.so from auditwheel (#878) @bdice
  • update.version.sh: remove broken reference, skip most CI on PRs that only modify update-version.sh (#875) @jameslamb
  • Add support for Python 3.13 (#874) @gforsyth
  • chore: lower wheel size threshold (#872) @gforsyth
  • [Java] Adding support for prefiltering in CAGRA (#870) @punAhuja
  • Change snmg index to use updated multi gpu resource API (#869) @jinsolp
  • run shellcheck on all files, other small pre-commit updates (#865) @jameslamb
  • Fix IVF PQ build metric for CAGRA (#862) @lowener
  • ANN_BENCH: Expose parallel_mode parameter of FAISS CPU IVF implementation (#861) @achirkin
  • Specify matplotlib version (#839) @benfred
  • Use random tmp names for index files in tests (#837) @achirkin
  • Download build artifacts from Github for CI (#834) @VenkateshJaya
  • Add NN-Descent return_distances functionality to python/C (#833) @benfred
  • Optimize hnsw::from_cagra<GPU> (#826) @achirkin
  • Use vendored RAPIDS.cmake in example code. (#824) @bdice
  • refactor(rattler): enable strict channel priority for builds (#823) @gforsyth
  • Reduce device memory usage for CAGRA's graph optimization process (2-hop detour counting) (#822) @anaruse
  • [cuvs_bench] distinguish search label from build label in data_export.py (#818) @jiangyinzuo
  • Vendor RAPIDS.cmake (#816) @bdice
  • Update libcuvs libraft ver to 25.06 in conda env (#808) @jinsolp
  • Moving NN Descent class and struct declarations to nn_descent_gnnd.hpp (#803) @jinsolp
  • Remove @rapidsai/cuvs-build-codeowners (#783) @KyleFromNVIDIA
  • Moving wheel builds to specified location and uploading build artifacts to Github (#777) @VenkateshJaya
  • Remove unused raft cagra header in add_nodes.cuh (#741) @jiangyinzuo
  • Expose kmeans to python (#729) @benfred
  • Update cuvs to properly create a NCCL::NCCL target (#720) @robertmaynard
  • Optimize euclidean distance in host refine phase (#689) @anstellaire
  • Moving MG functions into unified API + raft::device_resources_snmg as device resource type for MG functions (#454) @viclafargue
  • Moving random ball cover (#218) @cjnolet

[NIGHTLY] v25.08.00

30 May 16:58
v25.08.00a
17ce0a9
Compare
Choose a tag to compare
[NIGHTLY] v25.08.00 Pre-release
Pre-release

🔗 Links

🚨 Breaking Changes

🐛 Bug Fixes

📖 Documentation

  • [REVIEW][Java] Add instructions on how to run a single test (#1004) @ldematte

🚀 New Features

🛠️ Improvements

  • Update nightly CI check to allow 30 days of failing nightly build. (#1008) @cjnolet
  • [REVIEW][Java] Refactor CagraBuildAndSearchIT to explicitly express different execution modes (#1006) @ldematte
  • [REVIEW][Java] Add jextract artifacts to gitignore (#1005) @ldematte
  • Remove pytest pin (#998) @vyasr
  • [java] Utility function for cudaMemcpy (#983) @mythrocks
  • [java] Copy pom.xml to target/ on build (#981) @mythrocks
  • Remove CUDA 11 from dependencies.yaml (#962) @KyleFromNVIDIA
  • refactor(rattler): remove cuda11 options and general cleanup (#961) @gforsyth
  • Remove CUDA 11 devcontainers and update CI scripts (#960) @bdice
  • stop uploading packages to downloads.rapids.ai (#940) @jameslamb
  • Instantiate only specific RAFT reduction kernels (#925) @divyegala
  • [Java] Replace the C wrapper layer with the Panama API-based Java implementation (#916) @narangvivek10
  • Forward-merge branch-25.06 into branch-25.08 (#909) @gforsyth
  • Forward-merge branch-25.06 into branch-25.08 (#897) @gforsyth

v25.04.00

09 Apr 20:04
8417098
Compare
Choose a tag to compare

🚨 Breaking Changes

🐛 Bug Fixes

  • Use new build_patch_only argument (#780) @KyleFromNVIDIA
  • Fix resource import so generate_groundtruth works (#774) @nvrohanv
  • Relax max duplicates in batched NN Descent (#770) @jinsolp
  • [BUG] Fix graph index sorting in CAGRA graph build by NN Descent (#763) @enp1s0
  • cuvs-bench-cpu: avoid 'mkl' dependency on aarch64 (#750) @jameslamb
  • ANN_BENCH: Fix segfault in CAGRA wrapper when moving its graph (#733) @achirkin
  • Fix duplicate indices in batch NN Descent (#702) @jinsolp

📖 Documentation

🚀 New Features

🛠️ Improvements

[NIGHTLY] v25.06.00

06 Jun 16:34
v25.06.00a
2f9df39
Compare
Choose a tag to compare
[NIGHTLY] v25.06.00 Pre-release
Pre-release

🔗 Links

🚨 Breaking Changes

  • [Java] Adding support for prefiltering in CAGRA (#870) @punAhuja

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements

  • Update score calculation for CAGRA-Q instance selection (#938) @enp1s0
  • [FEA] Use Native Brute Force for Sparse Pairwise KNN (#927) @tarang-jain
  • use 'rapids-init-pip' in wheel CI, other CI changes (#917) @jameslamb
  • ANN_BENCH: Avoid repeated calls to raft::get_device_for_address in CAGRA search (#908) @achirkin
  • [Java] New off-heap Dataset support for CAGRA and Bruteforce (#902) @chatman
  • Finish CUDA 12.9 migration and use branch-25.06 workflows (#901) @bdice
  • Update to clang 20 (#898) @bdice
  • get Java artifacts from GitHub Actions artifact store (#893) @jameslamb
  • Quote head_rev in conda recipes (#892) @bdice
  • [Java] Exposing merge API for multiple CAGRA indices (#891) @punAhuja
  • Expose ivf-flat centers to python/c (#888) @benfred
  • CUDA 12.9 use updated compression flags (#887) @robertmaynard
  • Expose ivf-pq centers to python/c (#881) @benfred
  • Accept host inputs in python for ivf-pq build and extend (#880) @benfred
  • Add tiered_index support (#879) @benfred
  • Exclude librmm.so from auditwheel (#878) @bdice
  • update.version.sh: remove broken reference, skip most CI on PRs that only modify update-version.sh (#875) @jameslamb
  • Add support for Python 3.13 (#874) @gforsyth
  • chore: lower wheel size threshold (#872) @gforsyth
  • [Java] Adding support for prefiltering in CAGRA (#870) @punAhuja
  • Change snmg index to use updated multi gpu resource API (#869) @jinsolp
  • run shellcheck on all files, other small pre-commit updates (#865) @jameslamb
  • Fix IVF PQ build metric for CAGRA (#862) @lowener
  • ANN_BENCH: Expose parallel_mode parameter of FAISS CPU IVF implementation (#861) @achirkin
  • Specify matplotlib version (#839) @benfred
  • Use random tmp names for index files in tests (#837) @achirkin
  • Download build artifacts from Github for CI (#834) @VenkateshJaya
  • Add NN-Descent return_distances functionality to python/C (#833) @benfred
  • Optimize hnsw::from_cagra<GPU> (#826) @achirkin
  • Use vendored RAPIDS.cmake in example code. (#824) @bdice
  • refactor(rattler): enable strict channel priority for builds (#823) @gforsyth
  • Reduce device memory usage for CAGRA's graph optimization process (2-hop detour counting) (#822) @anaruse
  • [cuvs_bench] distinguish search label from build label in data_export.py (#818) @jiangyinzuo
  • Vendor RAPIDS.cmake (#816) @bdice
  • Update libcuvs libraft ver to 25.06 in conda env (#808) @jinsolp
  • Moving NN Descent class and struct declarations to nn_descent_gnnd.hpp (#803) @jinsolp
  • Remove @rapidsai/cuvs-build-codeowners (#783) @KyleFromNVIDIA
  • Moving wheel builds to specified location and uploading build artifacts to Github (#777) @VenkateshJaya
  • Remove unused raft cagra header in add_nodes.cuh (#741) @jiangyinzuo
  • Expose kmeans to python (#729) @benfred
  • Update cuvs to properly create a NCCL::NCCL target (#720) @robertmaynard
  • Optimize euclidean distance in host refine phase (#689) @anstellaire
  • Moving MG functions into unified API + raft::device_resources_snmg as device resource type for MG functions (#454) @viclafargue
  • Moving random ball cover (#218) @cjnolet

v25.02.01

03 Mar 19:30
v25.02.01
20b6775
Compare
Choose a tag to compare

🚨 Breaking Changes

  • [Fix] Various fixes for 25.02.01 point release (#695) @rhdong
  • update pip devcontainers to UCX 1.18, small update-version.sh fixes (#604) @jameslamb
  • Improve the performance of CAGRA new vector addition with the default params (#569) @enp1s0
  • Update for raft logger changes (#540) @vyasr

🐛 Bug Fixes

  • [Fix] Various fixes for 25.02.01 point release (#695) @rhdong
  • Fix ann-bench dataset blob integer overflow leading to incorrect data copy beyond 4B elems (#671) @achirkin
  • Fix ann-bench deadlocking on HNSW destruction due to task locks (#667) @achirkin
  • cuvs-bench Fixes (#654) @tarang-jain
  • Fix std::lock_guard use for gcc 14 support (#639) @enp1s0
  • Fix indexing bug when using parallelism to build CPU hierarchy in HNSW (#620) @divyegala
  • add runtime dependency on libcuvs in cuvs wheels (#615) @jameslamb
  • Temporarily skip CUDA 11 wheel CI (#599) @bdice
  • [Fix] l2_exp random fail in half-float32 mixed precision on self-neighboring (#596) @rhdong
  • Add CAGRA InnerProduct test and fix a bug (#595) @enp1s0
  • fix cuvs_bench.run --groups options (#592) @jiangyinzuo
  • Fix cagra_hnsw serialization when dataset is not part of index (#591) @tfeher
  • fix create_pointset for throughput mode (#589) @jiangyinzuo
  • Fix the use of constexpr in the dynamic batching header (#582) @achirkin
  • Reduce the recall threshold for IVF-PQ low-precision LUT inner product tests (#573) @achirkin
  • Small fixes to docs and pairwise distances (#570) @cjnolet
  • [BUG] Fix CAGRA graph optimization bug (#565) @enp1s0
  • Fix broken link to python doc (#564) @lowener
  • Fix cagra::extend error message (#532) @enp1s0
  • Fix Grace-specific issues in CAGRA (#527) @achirkin

📖 Documentation

🚀 New Features

🛠️ Improvements

v24.12.00

11 Dec 20:15
v24.12.00
0ce6a03
Compare
Choose a tag to compare

🚨 Breaking Changes

🐛 Bug Fixes

  • Skip IVF-PQ packing test for lists with not enough data (#512) @achirkin
  • [BUG] Fix CAGRA filter (#489) @enp1s0
  • Add kIsSingleSource to PairwiseDistanceEpilogueElementwise (#485) @KyleFromNVIDIA
  • Fix include errors, header, and unsafe locks in iface.hpp (#467) @achirkin
  • Fix an OOB error in device-side cuvs::neighbors::refine and CAGRA kern_prune (#460) @achirkin
  • Put a ceiling on cuda-python (#445) @bdice
  • Enable NVTX in cuvs-cagra-search component (#439) @achirkin
  • BUG: CAGRA multi-cta illegal access with bad queries (#438) @achirkin
  • Fix index overflow in edge cases of CAGRA graph optimize (#435) @achirkin
  • Fix correct call to brute force in generate groundtruth of cuvs-bench (#427) @dantegd
  • Use Python for sccache hit rate computation. (#420) @bdice
  • Add click package to cuvs-bench conda recipe (#408) @divyegala
  • Fix NVTX annotations (#400) @achirkin

📖 Documentation

🚀 New Features

🛠️ Improvements

v24.10.00

09 Oct 18:26
v24.10.00
7de3a05
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Use 64 bit types for dataset size calculation in CAGRA graph optimizer (#380) @tfeher
  • Remove EXPLICIT_INSTANTIATE_ONLY macros (#358) @achirkin
  • Fix order of operations for cosine IVF Flat (#329) @lowener
  • Exclude any kernel symbol that uses cutlass (#314) @benfred
  • [Fix] pin raft dependent to rapidsai (#299) @rhdong
  • Fix dataset dimension in IVF-PQ C wrappers (#292) @tfeher
  • Fix python ivf-pq for int8/uint8 dtypes (#271) @benfred
  • FP16 API for CAGRA and IVF-PQ (#264) @tfeher

📖 Documentation

🚀 New Features

🛠️ Improvements

v24.08.00

08 Aug 00:44
v24.08.00
8f250ac
Compare
Choose a tag to compare

🚨 Breaking Changes

🐛 Bug Fixes

📖 Documentation

🚀 New Features

  • Add cuvs_bench python folder, config files and constraints (#244) @dantegd
  • Add MST optimization to guarantee the connectivity of CAGRA graphs (#237) @anaruse
  • Moving over C++ API of CAGRA+hnswlib from RAFT (#229) @divyegala
  • [FEA] expose python & C API for prefiltered brute force (#174) @rhdong
  • CAGRA new vector addition (#151) @enp1s0

🛠️ Improvements

v24.06.00

05 Jun 17:20
v24.06.00
2a2c433
Compare
Choose a tag to compare

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements

v24.04.00

11 Apr 18:44
v24.04.00
25385bb
Compare
Choose a tag to compare

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements