🐛 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
- More doc updates for 24.10 (#396) @cjnolet
- fix 404 in documentation link in readme (#395) @benfred
- Improving getting started materials (#342) @cjnolet
- Fix broken examples link in README. (#326) @bdice
- Recommend
miniforge
for conda install (#325) @bdice
🚀 New Features
- Port remaining scripts to
cuvs_bench
(#368) @divyegala - [Feat] Relative change with
bitset
API feature #2439 in raft (#350) @rhdong - cuvs_bench plotting functions (#347) @dantegd
- CosineExpanded Metric for IVF-PQ (normalize inputs) (#346) @tarang-jain
- Python API for CAGRA+HNSW (#246) @divyegala
- C API for CAGRA+HNSW (#240) @divyegala
- SNMG ANN (#231) @viclafargue
- [FEA] Support for half-float mixed precise in brute-force (#225) @rhdong
🛠️ Improvements
- Remove cuvs-cagra-search from cuvs_static link (#388) @benfred
- Add a static library for cuvs (#382) @benfred
- Put the ann-bench large_workspace_resource in managed memory (#372) @achirkin
- Add multigpu kmeans fit function (#348) @benfred
- Update update-version.sh to use packaging lib (#344) @AyodeAwe
- remove NCCL pins in build and test environments (#341) @jameslamb
- Vamana/DiskANN index build (#339) @bkarsin
- Use CI workflow branch 'branch-24.10' again (#331) @jameslamb
- fix style checks on Python 3.12 (#328) @jameslamb
- Update flake8 to 7.1.1. (#327) @bdice
- Add function for calculating the mutual_reachability_graph (#323) @benfred
- Simplify libcuvs conda recipe. (#322) @bdice
- Refactor dependencies.yaml to use depends-on pattern. (#321) @bdice
- Update Python versions in cuvs_bench pyproject.toml. (#318) @bdice
- Brute force knn tile size heuristic (#316) @mfoerste4
- Euclidean distance example (#315) @abner-ma
- Migrate trustworthiness and silhouette_score stats from RAFT (#313) @benfred
- Add support for Python 3.12 (#312) @jameslamb
- Add
managed
option for RMM Pool memory resource to C API (#305) @ajit283 - Update rapidsai/pre-commit-hooks (#303) @KyleFromNVIDIA
- Expose search function with pre-filter for ANN (#302) @lowener
- Drop Python 3.9 support (#301) @jameslamb
- Use CUDA math wheels (#298) @KyleFromNVIDIA
- Remove NumPy <2 pin (#297) @seberg
- CAGRA - separable compilation for distance computation (#296) @achirkin
- Updating example notebooks (#294) @cjnolet
- Add RMM Pool memory resource to C API (#285) @ajit283
- Update pre-commit hooks (#283) @KyleFromNVIDIA
- Improve update-version.sh (#282) @bdice
- Use tool.scikit-build.cmake.version, set scikit-build-core minimum-version (#280) @jameslamb
- Add cuvs_bench.run python code and build (#279) @dantegd
- Add cuvs-bench to dependencies and conda environments (#275) @dantegd
- Update pip devcontainers to UCX v1.17.0 (#262) @jameslamb
- Adding example for tuning build and search params using Optuna (#257) @dpadmanabhan03
- Fixed link to build docs and corrected ivf_flat_example (#255) @mmccarty
- Merge branch-24.08 into branch-24.10 (#254) @jameslamb
- Persistent CAGRA kernel (#215) @achirkin
- [FEA] Support for Cosine distance in IVF-Flat (#179) @lowener