Releases: rapidsai/cuvs
Releases · rapidsai/cuvs
v25.12.00
What's Changed
🚨 Breaking Changes
- Using
all_neighborsfor mutual reachability by @jinsolp in #1234 - Refactor libcuvs_c header and source locations by @robertmaynard in #1357
- Update cagra C API enums to have more long term stable values by @robertmaynard in #1436
- Require CUDA 12.2+ by @jakirkham in #1476
- Remove mutual_reachability_graph Public API by @tarang-jain in #1481
🐛 Bug Fixes
- Allow compilation when OpenMP is disabled by @robertmaynard in #1346
- Deallocation should be noexcept by @bdice in #1416
- ANN_BENCH: Don't throw in noexcept do_deallocate by @achirkin in #1417
- Remove unneeded cutlass public build/install dependency by @robertmaynard in #1411
- cuvs_static properly adds C include dir to target_include_directories by @robertmaynard in #1426
- Fix C/Python serialization for FP16. Add python tests by @lowener in #1429
- Properly guard usage of openmp function calls by @robertmaynard in #1435
- Update nlohmann-json to 3.12.0 by @KyleFromNVIDIA in #1449
- Fix test params for filtered ivf_flat by @aamijar in #1463
- [REVIEW][Java][Bug] Fix
CuVSMatrix#getRowto take strides into consideration by @ldematte in #1442 - Adding more tests and I find the compression settings are broken in the Golang API by @maxwbuckley in #1472
- Fix binary quantizer host transform bounds and stream order by @achirkin in #1473
- [BUG] Check if dynamic batching conf is null by @tarang-jain in #1459
- Include cagra search algorithms in libcuvs_static.a by @robertmaynard in #1457
- [Java] Disable flaky test
testFloatSerializationby @mythrocks in #1503 - Add libaio to cuvs-bench-cpu, improve bench dependencies by @tarang-jain in #1480
- [Java] Fix
CagraBuildAndSearchITconcurrent deallocation errors by @ldematte in #1510 - Pin Cython pre-3.2.0 and PyTest pre-9 by @jakirkham in #1528
- Fix a bug in compute_distance_00_generate.py by @enp1s0 in #1532
- Check stride information in from_dlpack by @benfred in #1458
- refactored update-version.sh to handle new branching strategy by @rockhowse in #1535
- fixed bug with update-version.sh by @rockhowse in #1556
- fix(ci): remove unsupported
nameparameter from custom job def by @gforsyth in #1560 - Remove need to have rapids_logger headers installed to use clib by @robertmaynard in #1527
- Fix BruteForce serialize test by @lowener in #1568
- [C] Fix:
cuvsRMMMemoryResourceResetsets a valid resource by @ldematte in #1540 - Fix typo in date field by @vyasr in #1563
- SNMG ANN build with OpenMP nested parallelism by @viclafargue in #1526
📖 Documentation
- Fix table of content documentation by @lowener in #1427
- Docs Spectral Clustering by @aamijar in #1490
- Use current system architecture in conda environment creation command by @bdice in #1499
- Updating README for release by @cjnolet in #1584
🚀 New Features
- Unify binding headers by @robertmaynard in #1413
- CAGRA: decouple source idx type from graph idx type and add a mapping between them by @achirkin in #1251
- Add SOVERSION information to libcuvs_c by @robertmaynard in #1474
- Spectral Clustering by @aamijar in #1425
- ANN_BENCH: integrate NVTX statistics by @achirkin in #1529
- Add Augmented Core Extraction Algorithm by @julianmi in #1404
- Extend CI to build and test x86 libcuvs_c tarballs by @robertmaynard in #1524
- Introduce
libcuvs-headersandlibcuvs-staticCMake components and conda packages by @divyegala in #1494 - [Java] Bindings, tests and benchmarks for RMM pooled memory by @ldematte in #1453
🛠️ Improvements
- Update
RAPIDS_BRANCH, codify changes inupdate-version.shby @KyleFromNVIDIA in #1368 - Move eigen_solvers from raft by @aamijar in #1402
- CosineExpanded Distance Metric for CAGRA by @tarang-jain in #197
- Enable
sccache-distconnection pool by @trxcllnt in #1431 - Use pinned_host_memory_resource instead of pinned_memory_resource. by @bdice in #1434
- Use main in RAPIDS_BRANCH by @bdice in #1439
- Use main shared-workflows branch by @bdice in #1444
- [Review] ScaNN: Add option for AVQ/Noise Shaping to bfloat16 quantization by @rmaschal in #1354
- Add NVTX annotations to CAGRA knn graph build stage by @achirkin in #1443
- [Review][C] Export the ability to get/set the log level to the C API by @ldematte in #1375
- [Java] Test indexing and serialization with integral (byte) dataset by @ldematte in #1366
- Use SPDX for all copyright headers by @KyleFromNVIDIA in #1446
- [REVIEW][Java] Log level api by @ldematte in #1376
- [Review] [Java] Disable flaky Java tests to reduce CI churn by @mythrocks in #1469
- Refactor rapids_cpm_package_details to rapids_cpm_package_info by @bdice in #1433
- Fix golang test name and add more logging and error checking. by @maxwbuckley in #1471
- Use an explicit std::min for byte alignment calculation by @maxwbuckley in #1465
- Replace custom cuda_pinned_resource with RMM's pinned_host_memory_resource by @bdice in #1466
- Add patch for FAISS memory resources by @bdice in #1477
- Improved CAGRA build parameter heuristics by @achirkin in #1448
- Decouple C++ library from C library by @divyegala in #1488
- Use
RAPIDS_BRANCHin cmake-format invocations that need rapids-cmake configs by @bdice in #1475 - eigen
toleranceoption Spectral Embedding by @aamijar in #1493 - Update to CUDA 13.0.2 by @bdice in #1506
- Single Linkage to Use all_neighbors API to build the KNN graph by @tarang-jain in #1507
- Migrate to new CCCL memory resource interface by @bdice in #1502
- Remove unused headers scann by @lowener in #1508
- Update RMM includes from
<rmm/mr/device/*>to<rmm/mr/*>by @bdice in #1538 - Use ruff-check, ruff-format instead of black, flake8 by @KyleFromNVIDIA in #1500
- Set memory pool from Python multi-GPU resource by @viclafargue in #1530
- [Java] Fix format with spotless by @ldematte in #1539
- fix bad version update by @trxcllnt in #1555
- Deduplicate KMeans instantiations by @divyegala in #1565
- Improve memory usage in
build_mr_linkageby @jinsolp in #1550 - Use
sccache-distbuild cluster for conda and wheel builds by @trxcllnt in #1495 - [Java] One PinnedMemoryBuffer per CuVSResourcesImpl by @ldematte in #1441
- [Java] Relax cuVS version matching by @ldematte in #1544
New Contributors
- @maxwbuckley made their first contribution in #1471
- @rockhowse made their first contribution in #1535
Full Changelog: v25.12.00a...v25.12.00
v25.10.00
🚨 Breaking Changes
- [Java] Uniform toHost/toDevice to work across all CuVSMatrix classes (#1328) @ldematte
- Use int64_t for getters in the cagra/ivf_flat c-api (#1272) @benfred
- [REVIEW][Java] Rename destroyIndex() to close(), extend AutoCloseable (#1252) @ldematte
- Removing deprecated batching code specific to NN Descent (#1249) @jinsolp
- MG C API (#1160) @viclafargue
🐛 Bug Fixes
- Update
cpp/cmake/config.jsonforConfigureTest()(#1385) @KyleFromNVIDIA - Fix k-means++ root rank race condition (#1359) @csadorf
- Fix inadvertent uses of copy constructor in mdarrays across cuVS (#1330) @achirkin
- Refactor CMakeLists to support static only builds of libcuvs (#1317) @robertmaynard
- Fix pq_compressed file created by SSD Vamana build (#1313) @bkarsin
- Revert "[Java]Binary and scalar quantization (#1104)" (#1274) @mythrocks
- Fix balanced kmeans API (#1268) @enp1s0
- [BUG] NEIGHBORS_ALL_NEIGHBORS_TEST build ignores --no-mg (#1230) @enp1s0
- Add error handling for CPU-only bench (#1203) @lowener
- Make duplicate removal in all neighbors robust to distance drift across batches (#1185) @jinsolp
- Fix single GPU sharded search merge (#1094) @viclafargue
- Processing mutual reachability dist in connect_knn_graph for host data (#1093) @jinsolp
- [Java][Fix] Multithreaded querying fails without synchronization (#1082) @chatman
📖 Documentation
- Add Vamana C rst Docs to toctree (#1399) @tarang-jain
- Regroup overloads in docs (#1377) @lowener
- [DOCS] Update IVF Docs with Supported Distance Metrics (#1365) @tarang-jain
- Add note about Linux-only support for cuVS pre-compiled packages (#1306) @stic
- Documentation Fixes (#1301) @benfred
- Docs for spectral embedding (#1299) @aamijar
- Improve NN Descent documentation (#1246) @jinsolp
- Add NN.extend and kmeans to Python doc (#1217) @lowener
🚀 New Features
- [REVIEW] [Java] Option to build fat-jars with native dependencies included (#1296) @mythrocks
- Updates needed when building with CUDA 13 (#1219) @robertmaynard
- [Java] Add CAGRA index graph accessor/build from graph (host memory) (#1216) @ldematte
- [Feat] Add Dockerfile for reproducible installation (#1195) @rhdong
- Vamana C / Python API (#1112) @tarang-jain
- Mutual Reachability in all-neighbors API (#1016) @jinsolp
- CAGRA Build + DiskANN Search cuvs-bench Wrapper (#899) @tarang-jain
🛠️ Improvements
- Patch FAISS for missing Thrust includes (#1398) @bdice
- Empty commit to trigger a build (#1363) @msarahan
- [Review][Java] Refactor: extract interface from CuVSMatrixBaseImpl (#1361) @ldematte
- use CUDA 13.0.1 CI images (#1353) @jameslamb
- Treat warnings as errors in doc builds + MG ANNs Python API doc update (#1350) @viclafargue
- [Java] Support row strides in CuVSMatrix (#1345) @ldematte
- [Java] Adding tests to use CuVSDeviceMatrix (device memory) directly as a CagraIndex input dataset (#1340) @ldematte
- Improve performance of assigning clusters in batched all_neighbors (#1336) @jinsolp
- Configure repo for automatic release notes generation (#1334) @AyodeAwe
- [Java] Buffered device matrix builder (#1332) @ldematte
- Remove UCX-Py/UCXX from release script (#1331) @pentschev
- [Java] Uniform toHost/toDevice to work across all CuVSMatrix classes (#1328) @ldematte
- [Java] Add
libcuvs<-> cuvs-java version check (#1327) @ldematte - update dependencies: use cuda-toolkit wheels (#1326) @jameslamb
- Add cagra.extend bindings for python (#1324) @benfred
- [Java] Make
cudaGetDevicePropertiescompatible with CUDA 12 and 13 based on symbol presence (#1323) @ldematte - Use branch-25.10 again (#1319) @jameslamb
- [Review][Java] Add detailed error message for
libcuvsload failure to UnsupportedProvider/UnsupportedOperationExceptions (#1316) @ldematte - [Java] Add reason(s) to UnsupportedProvider/UnsupportedOperationExceptions (#1314) @ldematte
- MG Python API (#1307) @viclafargue
- Fix redundant memset (#1305) @vinaydes
- Expose pq-centers to C and Python (#1303) @benfred
- Port
raft::neighbors::epsilon_neighborhoodto cuvs (#1294) @aamijar - ScaNN: Overlapped gather for AVQ (#1286) @rmaschal
- Update rapids-dependency-file-generator (#1285) @KyleFromNVIDIA
- [Review][Java] Expand
CagraIndex#searchto accept more types (int8 and int32) (#1283) @ldematte - All neighbors C and Python bindings (#1282) @viclafargue
- Build and test with CUDA 13.0.0 (#1273) @jameslamb
- Use int64_t for getters in the cagra/ivf_flat c-api (#1272) @benfred
- [Java][C] Expose GPUInfo (#1267) @ldematte
- Add rust bindings for kmeans (#1266) @benfred
- [REVIEW] Add a public API for CAGRA graph optimize (#1260) @abc99lr
- Fix debug build (#1258) @lowener
- Run
cargo fmtin the pre-commit hooks (#1255) @benfred - [REVIEW][Java] Rename destroyIndex() to close(), extend AutoCloseable (#1252) @ldematte
- Removing deprecated batching code specific to NN Descent (#1249) @jinsolp
- Pin Latest Faiss Version (#1247) @tarang-jain
- Use build cluster in devcontainers (#1240) @trxcllnt
- Use rapids_cuda_enable_fatbin_compression (#1239) @robertmaynard
- [Improvement] Replace Calls to thrust::transform with raft::linalg (#1238) @tarang-jain
- [Java] CuVSMatrix for device memory (#1232) @ldematte
- Drop log level for CAGRA trace messages (#1229) @mythrocks
- Update rapids_config to handle user defined branch name (#1227) @robertmaynard
- Reduce noise in Java tests (#1226) @mythrocks
- Update another instance of rapids-build-backend (#1225) @KyleFromNVIDIA
- Fix missing sync_stream in ScaNN build (#1224) @rmaschal
- [Java] Exception-safe RMM Allocations (#1215) @mythrocks
- Update rapids-build-backend to 0.4.1 (#1214) @KyleFromNVIDIA
- Removing filter templates in ivfpq for binary size reduction (#1211) @jinsolp
- ci(labeler): update labeler action to @v5 (#1210) @gforsyth
- [Java] Add decorator for synchronized CuVSResource access (#1209) @ldematte
- Remove unused templated instances (#1204) @vinaydes
- Spectral Embedding precomputed graph api (#1197) @aamijar
- cuvs RAPIDS dependency now use the new rapids-cmake branch info (#1189) @robertmaynard
- Allow latest OS in devcontainers (#1169) @bdice
- MG C API (#1160) @viclafargue
- Merge support for tiered index (#1155) @benfred
- Update build infra to support new branching strategy (#1143) @robertmaynard
- [Java]Binary and scalar quantization (#1104) @punAhuja
- Improve Vamana index build performance and recall (#1032) @bkarsin
- Use GCC 14 in conda builds. (#1030) @vyasr
- Update SNMG ANN API testing (#1023) @viclafargue
[NIGHTLY] v25.12.00
🔗 Links
🚨 Breaking Changes
- Update cagra C API enums to have more long term stable values (#1436) @robertmaynard
- Refactor libcuvs_c header and source locations (#1357) @robertmaynard
- Using
all_neighborsfor mutual reachability (#1234) @jinsolp
🐛 Bug Fixes
- Properly guard usage of openmp function calls (#1435) @robertmaynard
- Fix C/Python serialization for FP16. Add python tests (#1429) @lowener
- cuvs_static properly adds C include dir to target_include_directories (#1426) @robertmaynard
- ANN_BENCH: Don't throw in noexcept do_deallocate (#1417) @achirkin
- Deallocation should be noexcept (#1416) @bdice
- Remove unneeded cutlass public build/install dependency (#1411) @robertmaynard
- Allow compilation when OpenMP is disabled (#1346) @robertmaynard
🚀 New Features
- Update cagra C API enums to have more long term stable values (#1436) @robertmaynard
- Unify binding headers (#1413) @robertmaynard
- Refactor libcuvs_c header and source locations (#1357) @robertmaynard
🛠️ Improvements
- Use pinned_host_memory_resource instead of pinned_memory_resource. (#1434) @bdice
- Enable
sccache-distconnection pool (#1431) @trxcllnt - Move eigen_solvers from raft (#1402) @aamijar
- Update
RAPIDS_BRANCH, codify changes inupdate-version.sh(#1368) @KyleFromNVIDIA - Using
all_neighborsfor mutual reachability (#1234) @jinsolp - CosineExpanded Distance Metric for CAGRA (#197) @tarang-jain
v25.08.00
🚨 Breaking Changes
- [Java] Using functions for mapping (#1007) @ldematte
- Remove CUDA 11 from dependencies.yaml (#962) @KyleFromNVIDIA
- Common knn graph build params (#949) @jinsolp
- stop uploading packages to downloads.rapids.ai (#940) @jameslamb
🐛 Bug Fixes
- [BUG] Fix Large Batch Preprocessing for NN Descent (#1166) @tarang-jain
- Fix TieredIndexIT, Scoped resource access change was missed (#1156) @punAhuja
- Fix for
hellingermetric (#1128) @viclafargue - Fix go CI failures (#1114) @benfred
- Conditionally post process distances in NN Descent for use with distance epilogue (#1108) @jinsolp
- [BUG] Disable flaky cpp test
AnnIVFFlatTestF_half.AnnIVFFlat/21(#1092) @julianmi - [BUG] Fix device access check in build_sorted_mst (#1083) @tarang-jain
- Pin Faiss Version to Last Stable Release (#1029) @tarang-jain
- Fix verify-copyright precommit hook (#1017) @benfred
- Adding GH_TOKEN pass-through to summarize job (#1011) @msarahan
- Reuse
<version_config.h>instead of separate version constants inc_api.h(#1003) @mythrocks - IVF-PQ coarse search: fix integer overflow and avoid excessive batch sizes (#999) @achirkin
- Fix C compile error in
tiered_index.h(#996) @mythrocks - Fix for NN Descent negative or NaN distances (#994) @jinsolp
- Adding int64 search for MG CAGRA (#975) @viclafargue
- [ANN_BENCH] Fix OpenMP Sections in Wrappers (#911) @tarang-jain
- [BUG] cuvs-bench data_export fixes (#863) @tarang-jain
📖 Documentation
- [ANN_BENCH] [DOCS] Add Vamana / DiskANN to cuvs-bench Docs (#1164) @tarang-jain
- Add Golang build instructions to build.rst (#1116) @mythrocks
- Minor correction for Java test instructions (#1081) @mythrocks
- add docs on CI workflow inputs (#1075) @jameslamb
- [REVIEW][Java] Add instructions on how to run a single test (#1004) @ldematte
🚀 New Features
- Binary CAGRA with NN Descent (#1133) @tarang-jain
- CAGRA build heuristics for HNSW (#1125) @achirkin
- BitwiseHamming distance for NN Descent (#1101) @jinsolp
ReachabilityPostProcessdistance epilogue for NN Descent (#1073) @jinsolp- Add brute force to
all_neighborsAPI (#1062) @jinsolp - [Java] Support for tiered index (#1028) @punAhuja
- Enable
build_sorted_mstwith data on host memory (#997) @jinsolp - Add C-API method to fetch cuVS version from Java. (#935) @mythrocks
- Spectral Embedding (#871) @aamijar
- [FEA] Build Single Linkage API (#820) @tarang-jain
🛠️ Improvements
- Check shape is initialized in cuvsMatrixSliceRows (#1193) @benfred
- Add error checking for our C example code (#1171) @benfred
- Removing all references to CUDA 11 from codebase (#1150) @cjnolet
- [Java]Fixed TieredIndexParams creation/destruction, calling cuvsTieredIndexParamsCreate (#1147) @punAhuja
- Fix update-version (#1135) @AyodeAwe
- Reducing binary size in
ivf_pqby deduplicating kernels (#1130) @jinsolp - fix(docker): use versioned
-latesttag for allrapidsaiimages (#1129) @gforsyth - SCaNN Index build (#1120) @rmaschal
- [Java] Extend
Datasetto work as an output data container (#1111) @ldematte - [Java] Fix HNSW params allocation (#1110) @ldematte
- [Java] Fix CAGRA params allocation (#1109) @ldematte
- [Java] Fix POM (#1106) @ldematte
- Enforce java codeowners for managing contents of
java/(#1103) @cjnolet - Reduce binary size of refine functions (#1095) @tfeher
- [Java] Introduce scoped resource access (#1089) @ldematte
- Expose graph and dataset accessors for CAGRA to C/Python (#1086) @benfred
- Add warning for unused GPU when
n_clusters < n_ranksin batchall_neighbors(#1072) @jinsolp - [Java] Tidy up
MemorySegments lifecycle (#1069) @ldematte - [Java] Refactor SearchResults implementation classes (#1067) @ldematte
- Use CUDA 12.9 in Conda, Devcontainers, Spark, GHA, etc. (#1063) @jakirkham
- Exporting changed
graph_build_paramsnamespace intoall_neighbors(#1060) @jinsolp - hnsw::from_cagra: avoid allocating the graph twice (#1057) @achirkin
- Improve memory efficiency for returning NN Descent distances (#1053) @jinsolp
- Deprecation notice for batching code specific to NN Descent (#1052) @jinsolp
- Remove nvidia and dask channels (#1050) @vyasr
- [Java] Enforce Java code format standard (#1049) @narangvivek10
- Make rust publish run after conda upload (#1047) @AyodeAwe
- refactor(cuda11): remove cuda11-only conda channels, cleanup docs (#1046) @gforsyth
- [Review][Java] Fix random segabort/segfault/double free problems (#1045) @ldematte
- [Java] Add Dataset based on
MemorySegment(#1034) @ldematte - [Java] Add Java API benchmarks (#1033) @ldematte
- fix(cli): Add validation for search-mode parameter (#1026) @mayani-nv
- [Java] Encapsulate on-heap float arrays into
Dataset(#1024) @ldematte - refactor(shellcheck): fix all remaining warnings/errors (#1019) @gforsyth
- Instantiate only specific RAFT linewise kernels (#1018) @aamijar
- Update nightly CI check to allow 30 days of failing nightly build. (#1008) @cjnolet
- [Java] Using functions for mapping (#1007) @ldematte
- [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.xmltotarget/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
- Common knn graph build params (#949) @jinsolp
- 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
- Serialize Vamana index with SSD sector alignment per MSFT DiskANN format, generate quantized dataset for integration with DiskANN (#846) @jamxia155
- Add mean and median threshold modes to binary quantization (#716) @enp1s0
v25.06.01
🚨 Breaking Changes
🐛 Bug Fixes
- 25.06 hotfix for SNMG (#1027) @viclafargue
- Update rust/cuvs-sys (#990) @benfred
- Fix rust publishing step (#984) @benfred
- 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
- All-neighbors API docs (#944) @jinsolp
- cagra.rst: fitered -> filtered (#866) @eli-b
- [DOCS] Fix Integration Docs (Faiss) (#782) @tarang-jain
🚀 New Features
- Add IVF-PQ support in CAGRA index params in Python (#918) @lowener
- [Feat] Expose C API for CAGRA
merge(#860) @rhdong - Use NCCL wheels from PyPI for CUDA 12 builds (#827) @divyegala
- Add support for half in CAGRA+HNSW (#813) @lowener
- [CI] Enable Java test in CI workflow (#805) @rhdong
- Wrapper for all-neighbors knn graph building (#785) @jinsolp
- Add support of half dtype in IVF-FLAT (#730) @lowener
- IVF-PQ: low-precision coarse search (#715) @achirkin
- [Feat] Add support of logical merge in Cagra (#713) @rhdong
🛠️ 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_snmgas device resource type for MG functions (#454) @viclafargue - Moving random ball cover (#218) @cjnolet
v25.06.00
🚨 Breaking Changes
🐛 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
- All-neighbors API docs (#944) @jinsolp
- cagra.rst: fitered -> filtered (#866) @eli-b
- [DOCS] Fix Integration Docs (Faiss) (#782) @tarang-jain
🚀 New Features
- Add IVF-PQ support in CAGRA index params in Python (#918) @lowener
- [Feat] Expose C API for CAGRA
merge(#860) @rhdong - Use NCCL wheels from PyPI for CUDA 12 builds (#827) @divyegala
- Add support for half in CAGRA+HNSW (#813) @lowener
- [CI] Enable Java test in CI workflow (#805) @rhdong
- Wrapper for all-neighbors knn graph building (#785) @jinsolp
- Add support of half dtype in IVF-FLAT (#730) @lowener
- IVF-PQ: low-precision coarse search (#715) @achirkin
- [Feat] Add support of logical merge in Cagra (#713) @rhdong
🛠️ 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_snmgas device resource type for MG functions (#454) @viclafargue - Moving random ball cover (#218) @cjnolet
v25.04.00
🚨 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
L2SqrtExpandedmetric support for NN Descent (#790) @jinsolp- CAGRA search: int64_t indices in the API (#769) @achirkin
- Expose IVF PQ params in CAGRA C API (#768) @divyegala
- [Feat] Expose search with bitset C API for Brute Force (#717) @rhdong
- Diskann Benchmarking Wrapper (#260) @tarang-jain
🛠️ Improvements
- Use L4 instead of V100 (#797) @bdice
- Rust publishing updates (#789) @AyodeAwe
- Removing print statement (#786) @jinsolp
- Support passing a dataset to
FromCagra(#767) @ajit283 - add function to build specific gpu-arches [REVIEW] (#766) @nvrohanv
- feat(libcuvs): port libcuvs to rattler-build (#751) @gforsyth
- Consolidate Conda environment for Rust (#745) @KyleFromNVIDIA
- rename 'sklearn' conda dependency to 'scikit-learn' (#743) @jameslamb
- Reduce memory consumption of scalar quantizer (#736) @mfoerste4
- Use conda-build instead of conda-mambabuild (#723) @bdice
- Expand NVTX annotations in CAGRA build and HNSW (#711) @achirkin
- Replace
cub::TransformInputIteratorwiththrust::transform_iterator(#707) @miscco - Consolidate more Conda solves in CI (#701) @KyleFromNVIDIA
- Require CMake 3.30.4 (#691) @robertmaynard
- Create Conda CI test env in one step (#684) @KyleFromNVIDIA
- Use shared-workflows branch-25.04 (#669) @bdice
- Add
shellcheckto pre-commit and fix warnings (#662) @gforsyth - Add build_type input field for test.yaml (#661) @gforsyth
- Use
rapids-pip-retryin CI jobs that might need retries (#648) @gforsyth - Use new rapids-logger library (#644) @vyasr
- disallow fallback to Make in Python builds (#636) @jameslamb
- Add
verify-codeownershook (#633) @KyleFromNVIDIA - Forward-merge branch-25.02 into branch-25.04 (#632) @bdice
- Account for RAFT sparse types updates (#629) @divyegala
- Migrate to NVKS for amd64 CI runners (#627) @bdice
[NIGHTLY] v25.06.00
🔗 Links
🚨 Breaking Changes
🐛 Bug Fixes
- 25.06 hotfix for SNMG (#1027) @viclafargue
- Update rust/cuvs-sys (#990) @benfred
- Fix rust publishing step (#984) @benfred
- 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
- All-neighbors API docs (#944) @jinsolp
- cagra.rst: fitered -> filtered (#866) @eli-b
- [DOCS] Fix Integration Docs (Faiss) (#782) @tarang-jain
🚀 New Features
- Add IVF-PQ support in CAGRA index params in Python (#918) @lowener
- [Feat] Expose C API for CAGRA
merge(#860) @rhdong - Use NCCL wheels from PyPI for CUDA 12 builds (#827) @divyegala
- Add support for half in CAGRA+HNSW (#813) @lowener
- [CI] Enable Java test in CI workflow (#805) @rhdong
- Wrapper for all-neighbors knn graph building (#785) @jinsolp
- Add support of half dtype in IVF-FLAT (#730) @lowener
- IVF-PQ: low-precision coarse search (#715) @achirkin
- [Feat] Add support of logical merge in Cagra (#713) @rhdong
🛠️ 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_snmgas device resource type for MG functions (#454) @viclafargue - Moving random ball cover (#218) @cjnolet
v25.02.01
🚨 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
- add docs for nn_descent (#668) @Intron7
- Fixing small typo in cuvs bench docs (#586) @cjnolet
- Fix typos in README (#543) @nvanbenschoten
- Use nvidia-sphinx-theme for docs (#528) @benfred
🚀 New Features
- Add deep-100M to datasets.yaml for cuvs-bench (#670) @tarang-jain
- Expose configuration singleton as a global context for ann-bench algos (#647) @achirkin
- ANN_BENCH enhanced dataset support (#624) @achirkin
- [Feat] Add Support for Index
mergein CAGRA (#618) @rhdong - HNSW GPU hierarchy (#616) @divyegala
- CAGRA binary Hamming distance support (#610) @enp1s0
- Add cuda 12.8 support (#605) @robertmaynard
- Add support for refinement with
uint32_tindex type (#563) @lowener - [Feat] Support
bitsetfilter for Brute Force (#560) @rhdong - Remove upper bounds on cuda-python to allow 12.6.2 and 11.8.5 (#508) @bdice
🛠️ Improvements
- [Opt] add required content to cuvs_java
pom.xml(#731) @rhdong - Add filtering to python for ivf_flat (#664) @benfred
- Expose binary quantizer to C and Python (#660) @benfred
- Add telemetry (#652) @gforsyth
- Revert docs builds to CI latest tag. (#643) @bdice
- Add float16 support in python for cagra/brute_force/ivf_pq and scalar quantizer (#637) @benfred
- Expose NN-Descent to C and Python (#635) @benfred
- Revert CUDA 12.8 shared workflow branch changes (#630) @vyasr
- cuvs-java: Rework the api to be Java 21 friendly (#628) @ChrisHegarty
- Build and test with CUDA 12.8.0 (#621) @bdice
- Add Scalar Quantization to the c and python apis (#617) @benfred
- Iteratively build graph index (#612) @anaruse
- update pip devcontainers to UCX 1.18, small update-version.sh fixes (#604) @jameslamb
- Reduce CAGRA test runtime (#602) @bdice
- Revert "Temporarily skip CUDA 11 wheel CI" (#601) @bdice
- introduce libcuvs wheels (#594) @jameslamb
- Normalize whitespace (#593) @bdice
- Rename test to tests. (#590) @bdice
- Use cuda.bindings layout. (#588) @bdice
- run_cuvs_pytests.sh uses proper test dir (#584) @robertmaynard
- expose col-major bfknn to python (#575) @benfred
- Run cuvs-bench pytests and end-to-end tests in CI (#574) @dantegd
- Expose col-major pairwise distances to python (#572) @benfred
- Improve the performance of CAGRA new vector addition with the default params (#569) @enp1s0
- Improve filtering documentation (#568) @lowener
- Use GCC 13 in CUDA 12 conda builds. (#567) @bdice
- Allow brute_force::build to work on host matrix dataset (#562) @benfred
- FAISS with cuVS enabled in cuvs-bench (#561) @tarang-jain
- Vamana build improvement and added docs (#558) @bkarsin
- Support raft's logger targets (#557) @vyasr
- Get Breathe from conda again (#554) @vyasr
- Check if nightlies have succeeded recently enough (#548) @vyasr
- Add support for float16 to the python pairwise distance api (#547) @benfred
- Additional Distances for CAGRA C and Python API (#546) @tarang-jain
- remove setup.cfg files, other packaging cleanup (#544) @jameslamb
- Fix CI for python cuvs_bench (#541) @benfred
- Update for raft logger changes (#540) @vyasr
- Change brute_force api to match ivf*/cagra (#536) @benfred
- Branch 25.02 merge 24.12 (#526) @benfred
- Update cuda-python lower bounds to 12.6.2 / 11.8.5 (#524) @bdice
- Automatic adjustment of itopk size according to filtering rate (#509) @anaruse
- prefer system install of UCX in devcontainers (#501) @jameslamb
- Adapt to rmm logger changes (#499) @vyasr
- Require approval to run CI on draft PRs (#498) @bdice
- Remove RAFT BUILD_ANN_BENCH option (#497) @bdice
- Update example code fetching rapids-cmake to use CUVS instead of RAFT (#493) @bdice
- Improve multi-CTA algorithm (#492) @anaruse
- Add filtering for CAGRA to C API (#452) @ajit283
- Initial cut for a cuVS Java API (#450) @chatman
- Add breaking change workflow trigger (#442) @AyodeAwe
- Expose
extend()in C API (#276) @ajit283 - Go API - [WIP] (#212) @ajit283
v24.12.00
🚨 Breaking Changes
- HNSW CPU Hierarchy (#465) @divyegala
- Use dashes in cuvs-bench package name. (#417) @bdice
🐛 Bug Fixes
- Skip IVF-PQ packing test for lists with not enough data (#512) @achirkin
- [BUG] Fix CAGRA filter (#489) @enp1s0
- Add
kIsSingleSourcetoPairwiseDistanceEpilogueElementwise(#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
clickpackage tocuvs-benchconda recipe (#408) @divyegala - Fix NVTX annotations (#400) @achirkin
📖 Documentation
- [Doc] Fix CAGRA search sample code (#484) @enp1s0
- Fix broken link in README.md references (#473) @Azurethi
- Adding tech stack to docs (#448) @cjnolet
- Fix Question Retrieval notebook (#352) @lowener
🚀 New Features
- Add C++ API scalar quantization (#494) @mfoerste4
- HNSW CPU Hierarchy (#465) @divyegala
- Add serialization API to brute-force (#461) @lowener
- Add Question Retrieval notebook using Milvus (#451) @lowener
- Migrate feature diff for NN Descent from RAFT to cuVS (#421) @divyegala
- Add --no-lap-sync cmd option to ann-bench (#405) @achirkin
- Add
InnerProductandCosineExpandedmetric support in NN Descent (#177) @divyegala
🛠️ Improvements
- Update cuvs to match raft's cutlass changes (#516) @vyasr
- add a README for wheels (#504) @jameslamb
- Move check_input_array from pylibraft (#474) @benfred
- use different wheel-size thresholds based on CUDA version (#469) @jameslamb
- Modify cuvs-bench to be able to generate ground truth in CPU systems (#466) @dantegd
- enforce wheel size limits, README formatting in CI (#464) @jameslamb
- Moving spectral embedding and kernel gramm APIs to cuVS (#463) @cjnolet
- Migrate sparse knn and distances code from raft (#457) @benfred
- Don't presume pointers location infers usability. (#441) @robertmaynard
- call
enable_testingin root CMakeLists.txt (#437) @robertmaynard - CAGRA tech debt: distance descriptor and workspace memory (#436) @achirkin
- Add ci run_ scripts needed for build infra (#434) @robertmaynard
- Use environment variables in cache hit rate computation. (#422) @bdice
- Use dashes in cuvs-bench package name. (#417) @bdice
- We need to enable the c_api by default (#416) @robertmaynard
- print sccache stats in builds (#413) @jameslamb
- make conda installs in CI stricter (#406) @jameslamb
- Ivf c example (#404) @abner-ma
- Prune workflows based on changed files (#392) @KyleFromNVIDIA
- [WIP] Add pinned memory resource to C API (#311) @ajit283
- Dynamic Batching (#261) @achirkin