v23.02.00
🚨 Breaking Changes
- Remove faiss ANN code from knnIndex (#1121) @benfred
- Use
GenPC
(Permuted Congruential) as the default random number generator everywhere (#1099) @Nyrio
🐛 Bug Fixes
- Reverting a few commits from 23.02 and speeding up end-to-end build time (#1232) @cjnolet
- Update README.md: fix a missing word (#1185) @achirkin
- balanced-k-means: fix a too large initial memory pool size (#1148) @achirkin
- Catch signal handler change error (#1147) @tfeher
- Squared norm fix follow-up (change was lost in merge conflict) (#1144) @Nyrio
- IVF-Flat bug fix: the squared norm is required for expanded distance calculations (#1141) @Nyrio
- build.sh switch to use
RAPIDS
magic value (#1132) @robertmaynard - Fix
euclidean_dist
in IVF-Flat search (#1122) @Nyrio - Update handle docstring (#1103) @dantegd
- Pin libcusparse and libcusolver to avoid CUDA 12 (#1095) @wphicks
- Fix race condition in
raft::random::discrete
(#1094) @Nyrio - Fixing libraft conda recipes (#1084) @cjnolet
- Ensure that we get the cuda version of faiss. (#1078) @vyasr
- Fix double definition error in ANN refinement header (#1067) @tfeher
- Specify correct global targets names to raft_export (#1054) @robertmaynard
- Fix concurrency issues in k-means++ initialization (#1048) @Nyrio
📖 Documentation
- Adding small comms tutorial to docs (#1204) @cjnolet
- Separating more namespaces into easier-to-consume sections (#1091) @cjnolet
- Paying down some tech debt on docs, runtime API, and cython (#1055) @cjnolet
🚀 New Features
- Add function to convert mdspan to a const view (#1188) @lowener
- Internal library to share headers between test and bench (#1162) @achirkin
- Add public API and tests for hierarchical balanced k-means (#1113) @Nyrio
- Export NCCL dependency as part of raft::distributed. (#1077) @vyasr
- Serialization of IVF Flat and IVF PQ (#919) @tfeher
🛠️ Improvements
- Pin
dask
anddistributed
for release (#1242) @galipremsagar - Update shared workflow branches (#1241) @ajschmidt8
- Removing interruptible from basic handle sync. (#1224) @cjnolet
- pre-commit: Update isort version to 5.12.0 (#1215) @wence-
- Pin wheel dependencies to same RAPIDS release (#1200) @sevagh
- Serializer for mdspans (#1173) @hcho3
- Use CTK 118/cp310 branch of wheel workflows (#1169) @sevagh
- Enable shallow copy of
handle_t
's resources with different workspace_resource (#1165) @cjnolet - Protect balanced k-means out-of-memory in some cases (#1161) @achirkin
- Use squeuclidean for metric name in ivf_pq python bindings (#1160) @benfred
- ANN tests: make the min_recall check strict (#1156) @achirkin
- Make cutlass use static ctk (#1155) @sevagh
- Fix various build errors (#1152) @hcho3
- Remove faiss bfKnn call from fused_l2_knn unittest (#1150) @benfred
- Fix
unary_op
docs and addmap_offset
as an improved version ofwrite_only_unary_op
(#1149) @Nyrio - Improvement of the math API wrappers (#1146) @Nyrio
- Changing handle_t to device_resources everywhere (#1140) @cjnolet
- Add L2SqrtExpanded support to ivf_pq (#1138) @benfred
- Adding workspace resource (#1137) @cjnolet
- Add raft::void_op functor (#1136) @ahendriksen
- IVF-PQ: tighten the test criteria (#1135) @achirkin
- Fix documentation author (#1134) @bdice
- Add L2SqrtExpanded support to ivf_flat ANN indices (#1133) @benfred
- Improvements in
matrix::gather
: test coverage, compilation errors, performance (#1126) @Nyrio - Adding ability to use an existing stream in the pylibraft Handle (#1125) @cjnolet
- Remove faiss ANN code from knnIndex (#1121) @benfred
- Update builds for CUDA
11.8
and Python3.10
(#1120) @ajschmidt8 - Update workflows for nightly tests (#1119) @ajschmidt8
- Enable
Recently Updated
Check (#1117) @ajschmidt8 - Build wheels alongside conda CI (#1116) @sevagh
- Allow host dataset for IVF-PQ (#1114) @tfeher
- Decoupling raft handle from underlying resources (#1111) @cjnolet
- Fixing an index error introduced in PR #1109 (#1110) @vinaydes
- Fixing the sample-without-replacement test failures (#1109) @vinaydes
- Remove faiss dependency from fused_l2_knn.cuh, selection_faiss.cuh, ball_cover.cuh and haversine_distance.cuh (#1108) @benfred
- Remove redundant operators in sparse/distance and move others to raft/core (#1105) @Nyrio
- Speedup
make_blobs
by up to 2x by fixing inefficient kernel launch configuration (#1100) @Nyrio - Use
GenPC
(Permuted Congruential) as the default random number generator everywhere (#1099) @Nyrio - Cleanup faiss includes (#1098) @benfred
- matrix::select_k: move selection and warp-sort primitives (#1085) @achirkin
- Exclude changelog from pre-commit spellcheck (#1083) @benfred
- Add GitHub Actions Workflows. (#1076) @bdice
- Adding uninstall option to build.sh (#1075) @cjnolet
- Use doctest for testing python example docstrings (#1073) @benfred
- Minor cython fixes / cleanup (#1072) @benfred
- IVF-PQ: tweak launch configuration (#1069) @achirkin
- Unpin
dask
anddistributed
for development (#1068) @galipremsagar - Bifurcate Dependency Lists (#1065) @ajschmidt8
- Add support for 64bit svdeig (#1060) @lowener
- switch mma instruction shape to 1684 from current 1688 for 3xTF32 L2/cosine kernel (#1057) @mdoijade
- Make IVF-PQ build index in batches when necessary (#1056) @achirkin
- Remove unused setuputils modules (#1053) @vyasr
- Branch 23.02 merge 22.12 (#1051) @benfred
- Shared-memory-cached kernel for
reduce_cols_by_key
to limit atomic conflicts (#1050) @Nyrio - Unify use of common functors (#1049) @Nyrio
- Replace k-means++ CPU bottleneck with a
random::discrete
prim (#1039) @Nyrio - Add python bindings for kmeans fit (#1016) @benfred
- Add MaskedL2NN (#838) @ahendriksen
- Move contractions tiling logic outside of Contractions_NT (#837) @ahendriksen