v24.08.00
🚨 Breaking Changes
🐛 Bug Fixes
- Remove fp16 kernels that have no public entry point (#268) @tfeher
- Use
raft::util::popc(...)
public API (#249) @divyegala - Enable building FAISS main statically (#241) @tarang-jain
- CAGRA bench: use device-side refinement when the data is on device (#228) @achirkin
- Rename
.devcontainer
s for CUDA 12.5 (#224) @jakirkham - Fix a CAGRA graph opt bug (#192) @enp1s0
📖 Documentation
- fix library name in docs ('cuvs' not 'pycuvs') (#193) @jameslamb
🚀 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
- [Opt] introduce the
masked_matmul
to prefiltered brute force. (#251) @rhdong - Add more info to ANN_BENCH context (#248) @achirkin
- split up CUDA-suffixed dependencies in dependencies.yaml (#247) @jameslamb
- Fix pinning to a different RAFT tag (#235) @benfred
- Use workflow branch 24.08 again (#234) @KyleFromNVIDIA
- chore: update search_plan.cuh (#232) @eltociear
- Enable kernel & memcpy overlapping in IVF index building (#230) @abc99lr
- CAGRA: reduce argument count in select_and_run() kernel wrappers (#227) @achirkin
- Mark the rust brute force unittest as flaky (#226) @benfred
- Add python bindings for ivf-* extend functions (#220) @benfred
- Build and test with CUDA 12.5.1 (#219) @KyleFromNVIDIA
- Add col-major support for brute force knn (#217) @benfred
- Add CUDA_STATIC_MATH_LIBRARIES (#216) @KyleFromNVIDIA
- skip CMake 3.30.0 (#214) @jameslamb
- Complete Migration of IVF Helpers / Features from RAFT (#213) @tarang-jain
- Use verify-alpha-spec hook (#209) @KyleFromNVIDIA
- Fixes for publishing rust package to crates.io (#207) @benfred
- Add rust example (#206) @benfred
- Adding IVF examples (#203) @cjnolet
- Fix compilation error when _CLK_BREAKDOWN is defined in cagra. (#202) @jiangyinzuo
- DOC: update notebook link (#191) @raybellwaves
- Change cagra.build_index to cagra.build (#187) @benfred
- Add python serialization API's for ivf-pq and ivf_flat (#186) @benfred
- resolve dependency-file-generator warning, rapids-build-backend followup (#185) @jameslamb
- Adopt CI/packaging codeowners (#183) @raydouglass
- Scaling workspace resources (#181) @achirkin
- Remove text builds of documentation (#180) @vyasr
- Add refine to the Python and C api's (#175) @benfred
- Allow serialization on streams (#173) @benfred
- Forward-merge branch-24.06 into branch-24.08 (#169) @benfred
- Use rapids-build-backend (#145) @KyleFromNVIDIA
- ANN_BENCH (#130) @achirkin
- Enable random subsampling (#122) @tfeher