Rapidsai Raft Versions Save

RAFT contains fundamental widely-used algorithms and primitives for machine learning and information retrieval. The algorithms are CUDA-accelerated and form building blocks for more easily writing high performance applications.

v23.06.02

11 months ago

🚨 Breaking Changes

  • ivf-pq::search: fix the indexing type of the query-related mdspan arguments (#1539) @achirkin
  • Dropping Python 3.8 (#1454) @divyegala

🐛 Bug Fixes

  • PR to trigger rebuild of raft (#1622) @raydouglass
  • Assigning Deterministic rank to Dask Workers Based on CUDA_VISIBLE_DEVICES (branch-23.06) (#1587) @VibhuJawa
  • [HOTFIX] Fix distance metrics L2/cosine/correlation when X & Y are same buffer but with different shape and add unit test for such case. (#1571) @mdoijade
  • Using raft::resources in rsvd (#1543) @cjnolet
  • ivf-pq::search: fix the indexing type of the query-related mdspan arguments (#1539) @achirkin
  • Check python brute-force knn inputs (#1537) @benfred
  • Fix failing TiledKNNTest unittest (#1533) @benfred
  • ivf-flat: fix incorrect recomputed size of the index (#1525) @achirkin
  • ivf-flat: limit the workspace size of the search via batching (#1515) @achirkin
  • Support uint64_t in CAGRA index data type (#1514) @enp1s0
  • Workaround for cuda 12 issue in cusparse (#1508) @cjnolet
  • Un-scale output distances (#1499) @achirkin
  • Inline get_cache_idx (#1492) @ahendriksen
  • Pin to scikit-build<17.2 (#1487) @vyasr
  • Remove pool_size() calls from debug printouts (#1484) @tfeher
  • Add missing ext declaration for log detail::format (#1482) @tfeher
  • Remove include statements from inside namespace (#1467) @robertmaynard
  • Use pin_compatible to ensure that lower CTKs can be used (#1462) @vyasr
  • fix ivf_pq n_probes (#1456) @benfred
  • The glog project root CMakeLists.txt is where we should build from (#1442) @robertmaynard
  • Add missing resource factory virtual destructor (#1433) @cjnolet
  • Removing cuda stream view include from mdarray (#1429) @cjnolet
  • Fix dim param for IVF-PQ wrapper in ANN bench (#1427) @tfeher
  • Remove MetricProcessor code from brute_force::knn (#1426) @benfred
  • Fix is_min_close (#1419) @benfred
  • Have consistent compile lines between BUILD_TESTS enabled or not (#1401) @robertmaynard
  • Fix ucx-py pin in raft-dask recipe (#1396) @vyasr

📖 Documentation

  • Various updates to the docs for 23.06 release (#1538) @cjnolet
  • Rename kernel arch finding function for dispatch (#1536) @mdoijade
  • Adding bfknn and ivf-pq python api to docs (#1507) @cjnolet
  • Add RAPIDS cuDF as a library that supports cuda_array_interface (#1444) @miguelusque

🚀 New Features

  • IVF-PQ: manipulating individual lists (#1298) @achirkin
  • Gram matrix support for sparse input (#1296) @mfoerste4
  • [FEA] Add randomized svd from cusolver (#1000) @lowener

🛠️ Improvements

  • Require Numba 0.57.0+ (#1559) @jakirkham
  • remove device_resources include from linalg::map (#1540) @benfred
  • Learn heuristic to pick fastest select_k algorithm (#1523) @benfred
  • [REVIEW] make raft::cache::Cache protected to allow overrides (#1522) @mfoerste4
  • [REVIEW] Fix padding assertion in sparse Gram evaluation (#1521) @mfoerste4
  • run docs nightly too (#1520) @AyodeAwe
  • Switch back to using primary shared-action-workflows branch (#1519) @vyasr
  • Python API for IVF-Flat serialization (#1516) @tfeher
  • Introduce sample filtering to IVFPQ index search (#1513) @alexanderguzhva
  • Migrate from raft::device_resources -> raft::resources (#1510) @benfred
  • Use rmm allocator in CAGRA prune (#1503) @enp1s0
  • Update recipes to GTest version >=1.13.0 (#1501) @bdice
  • Remove raft/matrix/matrix.cuh includes (#1498) @benfred
  • Generate dataset of select_k times (#1497) @benfred
  • Re-use memory pool between benchmark runs (#1495) @benfred
  • Support CUDA 12.0 for pip wheels (#1489) @divyegala
  • Update cupy dependency (#1488) @vyasr
  • Enable sccache hits from local builds (#1478) @AyodeAwe
  • Build wheels using new single image workflow (#1477) @vyasr
  • Revert shared-action-workflows pin (#1475) @divyegala
  • CAGRA: Separate graph index sorting functionality from prune function (#1471) @enp1s0
  • Add generic reduction functions and separate reductions/warp_primitives (#1470) @akifcorduk
  • [ENH] [FINAL] Header structure: combine all PRs into one (#1469) @ahendriksen
  • use matrix::select_k in brute_force::knn call (#1463) @benfred
  • Dropping Python 3.8 (#1454) @divyegala
  • Fix linalg::map to work with non-power-of-2-sized types again (#1453) @ahendriksen
  • [ENH] Enable building with clang (limit strict error checking to GCC) (#1452) @ahendriksen
  • Remove usage of rapids-get-rapids-version-from-git (#1436) @jjacobelli
  • Minor Updates to Sparse Structures (#1432) @divyegala
  • Use nvtx3 includes. (#1431) @bdice
  • Remove wheel pytest verbosity (#1424) @sevagh
  • Add python bindings for matrix::select_k (#1422) @benfred
  • Using raft::resources across raft::random (#1420) @cjnolet
  • Generate build metrics report for test and benchmarks (#1414) @divyegala
  • Update clang-format to 16.0.1. (#1412) @bdice
  • Use ARC V2 self-hosted runners for GPU jobs (#1410) @jjacobelli
  • Remove uses-setup-env-vars (#1406) @vyasr
  • Resolve conflicts in auto-merger of branch-23.06 and branch-23.04 (#1403) @galipremsagar
  • Adding base header-only conda package without cuda math libs (#1386) @cjnolet
  • Fix IVF-PQ API to use device_vector_view (#1384) @lowener
  • Branch 23.06 merge 23.04 (#1379) @vyasr
  • Forward merge branch 23.04 into 23.06 (#1350) @cjnolet
  • Fused L2 1-NN based on cutlass 3xTF32 / DMMA (#1118) @mdoijade

v23.06.00a

11 months ago

🚨 Breaking Changes

  • ivf-pq::search: fix the indexing type of the query-related mdspan arguments (#1539) @achirkin
  • Dropping Python 3.8 (#1454) @divyegala

🐛 Bug Fixes

  • PR to trigger rebuild of raft (#1622) @raydouglass
  • Assigning Deterministic rank to Dask Workers Based on CUDA_VISIBLE_DEVICES (branch-23.06) (#1587) @VibhuJawa
  • [HOTFIX] Fix distance metrics L2/cosine/correlation when X & Y are same buffer but with different shape and add unit test for such case. (#1571) @mdoijade
  • Using raft::resources in rsvd (#1543) @cjnolet
  • ivf-pq::search: fix the indexing type of the query-related mdspan arguments (#1539) @achirkin
  • Check python brute-force knn inputs (#1537) @benfred
  • Fix failing TiledKNNTest unittest (#1533) @benfred
  • ivf-flat: fix incorrect recomputed size of the index (#1525) @achirkin
  • ivf-flat: limit the workspace size of the search via batching (#1515) @achirkin
  • Support uint64_t in CAGRA index data type (#1514) @enp1s0
  • Workaround for cuda 12 issue in cusparse (#1508) @cjnolet
  • Un-scale output distances (#1499) @achirkin
  • Inline get_cache_idx (#1492) @ahendriksen
  • Pin to scikit-build<17.2 (#1487) @vyasr
  • Remove pool_size() calls from debug printouts (#1484) @tfeher
  • Add missing ext declaration for log detail::format (#1482) @tfeher
  • Remove include statements from inside namespace (#1467) @robertmaynard
  • Use pin_compatible to ensure that lower CTKs can be used (#1462) @vyasr
  • fix ivf_pq n_probes (#1456) @benfred
  • The glog project root CMakeLists.txt is where we should build from (#1442) @robertmaynard
  • Add missing resource factory virtual destructor (#1433) @cjnolet
  • Removing cuda stream view include from mdarray (#1429) @cjnolet
  • Fix dim param for IVF-PQ wrapper in ANN bench (#1427) @tfeher
  • Remove MetricProcessor code from brute_force::knn (#1426) @benfred
  • Fix is_min_close (#1419) @benfred
  • Have consistent compile lines between BUILD_TESTS enabled or not (#1401) @robertmaynard
  • Fix ucx-py pin in raft-dask recipe (#1396) @vyasr

📖 Documentation

  • Various updates to the docs for 23.06 release (#1538) @cjnolet
  • Rename kernel arch finding function for dispatch (#1536) @mdoijade
  • Adding bfknn and ivf-pq python api to docs (#1507) @cjnolet
  • Add RAPIDS cuDF as a library that supports cuda_array_interface (#1444) @miguelusque

🚀 New Features

  • IVF-PQ: manipulating individual lists (#1298) @achirkin
  • Gram matrix support for sparse input (#1296) @mfoerste4
  • [FEA] Add randomized svd from cusolver (#1000) @lowener

🛠️ Improvements

  • Require Numba 0.57.0+ (#1559) @jakirkham
  • remove device_resources include from linalg::map (#1540) @benfred
  • Learn heuristic to pick fastest select_k algorithm (#1523) @benfred
  • [REVIEW] make raft::cache::Cache protected to allow overrides (#1522) @mfoerste4
  • [REVIEW] Fix padding assertion in sparse Gram evaluation (#1521) @mfoerste4
  • run docs nightly too (#1520) @AyodeAwe
  • Switch back to using primary shared-action-workflows branch (#1519) @vyasr
  • Python API for IVF-Flat serialization (#1516) @tfeher
  • Introduce sample filtering to IVFPQ index search (#1513) @alexanderguzhva
  • Migrate from raft::device_resources -> raft::resources (#1510) @benfred
  • Use rmm allocator in CAGRA prune (#1503) @enp1s0
  • Update recipes to GTest version >=1.13.0 (#1501) @bdice
  • Remove raft/matrix/matrix.cuh includes (#1498) @benfred
  • Generate dataset of select_k times (#1497) @benfred
  • Re-use memory pool between benchmark runs (#1495) @benfred
  • Support CUDA 12.0 for pip wheels (#1489) @divyegala
  • Update cupy dependency (#1488) @vyasr
  • Enable sccache hits from local builds (#1478) @AyodeAwe
  • Build wheels using new single image workflow (#1477) @vyasr
  • Revert shared-action-workflows pin (#1475) @divyegala
  • CAGRA: Separate graph index sorting functionality from prune function (#1471) @enp1s0
  • Add generic reduction functions and separate reductions/warp_primitives (#1470) @akifcorduk
  • [ENH] [FINAL] Header structure: combine all PRs into one (#1469) @ahendriksen
  • use matrix::select_k in brute_force::knn call (#1463) @benfred
  • Dropping Python 3.8 (#1454) @divyegala
  • Fix linalg::map to work with non-power-of-2-sized types again (#1453) @ahendriksen
  • [ENH] Enable building with clang (limit strict error checking to GCC) (#1452) @ahendriksen
  • Remove usage of rapids-get-rapids-version-from-git (#1436) @jjacobelli
  • Minor Updates to Sparse Structures (#1432) @divyegala
  • Use nvtx3 includes. (#1431) @bdice
  • Remove wheel pytest verbosity (#1424) @sevagh
  • Add python bindings for matrix::select_k (#1422) @benfred
  • Using raft::resources across raft::random (#1420) @cjnolet
  • Generate build metrics report for test and benchmarks (#1414) @divyegala
  • Update clang-format to 16.0.1. (#1412) @bdice
  • Use ARC V2 self-hosted runners for GPU jobs (#1410) @jjacobelli
  • Remove uses-setup-env-vars (#1406) @vyasr
  • Resolve conflicts in auto-merger of branch-23.06 and branch-23.04 (#1403) @galipremsagar
  • Adding base header-only conda package without cuda math libs (#1386) @cjnolet
  • Fix IVF-PQ API to use device_vector_view (#1384) @lowener
  • Branch 23.06 merge 23.04 (#1379) @vyasr
  • Forward merge branch 23.04 into 23.06 (#1350) @cjnolet
  • Fused L2 1-NN based on cutlass 3xTF32 / DMMA (#1118) @mdoijade

v23.06.01

1 year ago

🚨 Breaking Changes

  • ivf-pq::search: fix the indexing type of the query-related mdspan arguments (#1539) @achirkin
  • Dropping Python 3.8 (#1454) @divyegala

🐛 Bug Fixes

  • Assigning Deterministic rank to Dask Workers Based on CUDA_VISIBLE_DEVICES (branch-23.06) (#1587) @VibhuJawa
  • [HOTFIX] Fix distance metrics L2/cosine/correlation when X & Y are same buffer but with different shape and add unit test for such case. (#1571) @mdoijade
  • Using raft::resources in rsvd (#1543) @cjnolet
  • ivf-pq::search: fix the indexing type of the query-related mdspan arguments (#1539) @achirkin
  • Check python brute-force knn inputs (#1537) @benfred
  • Fix failing TiledKNNTest unittest (#1533) @benfred
  • ivf-flat: fix incorrect recomputed size of the index (#1525) @achirkin
  • ivf-flat: limit the workspace size of the search via batching (#1515) @achirkin
  • Support uint64_t in CAGRA index data type (#1514) @enp1s0
  • Workaround for cuda 12 issue in cusparse (#1508) @cjnolet
  • Un-scale output distances (#1499) @achirkin
  • Inline get_cache_idx (#1492) @ahendriksen
  • Pin to scikit-build<17.2 (#1487) @vyasr
  • Remove pool_size() calls from debug printouts (#1484) @tfeher
  • Add missing ext declaration for log detail::format (#1482) @tfeher
  • Remove include statements from inside namespace (#1467) @robertmaynard
  • Use pin_compatible to ensure that lower CTKs can be used (#1462) @vyasr
  • fix ivf_pq n_probes (#1456) @benfred
  • The glog project root CMakeLists.txt is where we should build from (#1442) @robertmaynard
  • Add missing resource factory virtual destructor (#1433) @cjnolet
  • Removing cuda stream view include from mdarray (#1429) @cjnolet
  • Fix dim param for IVF-PQ wrapper in ANN bench (#1427) @tfeher
  • Remove MetricProcessor code from brute_force::knn (#1426) @benfred
  • Fix is_min_close (#1419) @benfred
  • Have consistent compile lines between BUILD_TESTS enabled or not (#1401) @robertmaynard
  • Fix ucx-py pin in raft-dask recipe (#1396) @vyasr

📖 Documentation

  • Various updates to the docs for 23.06 release (#1538) @cjnolet
  • Rename kernel arch finding function for dispatch (#1536) @mdoijade
  • Adding bfknn and ivf-pq python api to docs (#1507) @cjnolet
  • Add RAPIDS cuDF as a library that supports cuda_array_interface (#1444) @miguelusque

🚀 New Features

  • IVF-PQ: manipulating individual lists (#1298) @achirkin
  • Gram matrix support for sparse input (#1296) @mfoerste4
  • [FEA] Add randomized svd from cusolver (#1000) @lowener

🛠️ Improvements

  • Require Numba 0.57.0+ (#1559) @jakirkham
  • remove device_resources include from linalg::map (#1540) @benfred
  • Learn heuristic to pick fastest select_k algorithm (#1523) @benfred
  • [REVIEW] make raft::cache::Cache protected to allow overrides (#1522) @mfoerste4
  • [REVIEW] Fix padding assertion in sparse Gram evaluation (#1521) @mfoerste4
  • run docs nightly too (#1520) @AyodeAwe
  • Switch back to using primary shared-action-workflows branch (#1519) @vyasr
  • Python API for IVF-Flat serialization (#1516) @tfeher
  • Introduce sample filtering to IVFPQ index search (#1513) @alexanderguzhva
  • Migrate from raft::device_resources -> raft::resources (#1510) @benfred
  • Use rmm allocator in CAGRA prune (#1503) @enp1s0
  • Update recipes to GTest version >=1.13.0 (#1501) @bdice
  • Remove raft/matrix/matrix.cuh includes (#1498) @benfred
  • Generate dataset of select_k times (#1497) @benfred
  • Re-use memory pool between benchmark runs (#1495) @benfred
  • Support CUDA 12.0 for pip wheels (#1489) @divyegala
  • Update cupy dependency (#1488) @vyasr
  • Enable sccache hits from local builds (#1478) @AyodeAwe
  • Build wheels using new single image workflow (#1477) @vyasr
  • Revert shared-action-workflows pin (#1475) @divyegala
  • CAGRA: Separate graph index sorting functionality from prune function (#1471) @enp1s0
  • Add generic reduction functions and separate reductions/warp_primitives (#1470) @akifcorduk
  • [ENH] [FINAL] Header structure: combine all PRs into one (#1469) @ahendriksen
  • use matrix::select_k in brute_force::knn call (#1463) @benfred
  • Dropping Python 3.8 (#1454) @divyegala
  • Fix linalg::map to work with non-power-of-2-sized types again (#1453) @ahendriksen
  • [ENH] Enable building with clang (limit strict error checking to GCC) (#1452) @ahendriksen
  • Remove usage of rapids-get-rapids-version-from-git (#1436) @jjacobelli
  • Minor Updates to Sparse Structures (#1432) @divyegala
  • Use nvtx3 includes. (#1431) @bdice
  • Remove wheel pytest verbosity (#1424) @sevagh
  • Add python bindings for matrix::select_k (#1422) @benfred
  • Using raft::resources across raft::random (#1420) @cjnolet
  • Generate build metrics report for test and benchmarks (#1414) @divyegala
  • Update clang-format to 16.0.1. (#1412) @bdice
  • Use ARC V2 self-hosted runners for GPU jobs (#1410) @jjacobelli
  • Remove uses-setup-env-vars (#1406) @vyasr
  • Resolve conflicts in auto-merger of branch-23.06 and branch-23.04 (#1403) @galipremsagar
  • Adding base header-only conda package without cuda math libs (#1386) @cjnolet
  • Fix IVF-PQ API to use device_vector_view (#1384) @lowener
  • Branch 23.06 merge 23.04 (#1379) @vyasr
  • Forward merge branch 23.04 into 23.06 (#1350) @cjnolet
  • Fused L2 1-NN based on cutlass 3xTF32 / DMMA (#1118) @mdoijade

v23.06.00

1 year ago

🚨 Breaking Changes

  • ivf-pq::search: fix the indexing type of the query-related mdspan arguments (#1539) @achirkin
  • Dropping Python 3.8 (#1454) @divyegala

🐛 Bug Fixes

  • [HOTFIX] Fix distance metrics L2/cosine/correlation when X & Y are same buffer but with different shape and add unit test for such case. (#1571) @mdoijade
  • Using raft::resources in rsvd (#1543) @cjnolet
  • ivf-pq::search: fix the indexing type of the query-related mdspan arguments (#1539) @achirkin
  • Check python brute-force knn inputs (#1537) @benfred
  • Fix failing TiledKNNTest unittest (#1533) @benfred
  • ivf-flat: fix incorrect recomputed size of the index (#1525) @achirkin
  • ivf-flat: limit the workspace size of the search via batching (#1515) @achirkin
  • Support uint64_t in CAGRA index data type (#1514) @enp1s0
  • Workaround for cuda 12 issue in cusparse (#1508) @cjnolet
  • Un-scale output distances (#1499) @achirkin
  • Inline get_cache_idx (#1492) @ahendriksen
  • Pin to scikit-build<17.2 (#1487) @vyasr
  • Remove pool_size() calls from debug printouts (#1484) @tfeher
  • Add missing ext declaration for log detail::format (#1482) @tfeher
  • Remove include statements from inside namespace (#1467) @robertmaynard
  • Use pin_compatible to ensure that lower CTKs can be used (#1462) @vyasr
  • fix ivf_pq n_probes (#1456) @benfred
  • The glog project root CMakeLists.txt is where we should build from (#1442) @robertmaynard
  • Add missing resource factory virtual destructor (#1433) @cjnolet
  • Removing cuda stream view include from mdarray (#1429) @cjnolet
  • Fix dim param for IVF-PQ wrapper in ANN bench (#1427) @tfeher
  • Remove MetricProcessor code from brute_force::knn (#1426) @benfred
  • Fix is_min_close (#1419) @benfred
  • Have consistent compile lines between BUILD_TESTS enabled or not (#1401) @robertmaynard
  • Fix ucx-py pin in raft-dask recipe (#1396) @vyasr

📖 Documentation

  • Various updates to the docs for 23.06 release (#1538) @cjnolet
  • Rename kernel arch finding function for dispatch (#1536) @mdoijade
  • Adding bfknn and ivf-pq python api to docs (#1507) @cjnolet
  • Add RAPIDS cuDF as a library that supports cuda_array_interface (#1444) @miguelusque

🚀 New Features

  • IVF-PQ: manipulating individual lists (#1298) @achirkin
  • Gram matrix support for sparse input (#1296) @mfoerste4
  • [FEA] Add randomized svd from cusolver (#1000) @lowener

🛠️ Improvements

  • Require Numba 0.57.0+ (#1559) @jakirkham
  • remove device_resources include from linalg::map (#1540) @benfred
  • Learn heuristic to pick fastest select_k algorithm (#1523) @benfred
  • [REVIEW] make raft::cache::Cache protected to allow overrides (#1522) @mfoerste4
  • [REVIEW] Fix padding assertion in sparse Gram evaluation (#1521) @mfoerste4
  • run docs nightly too (#1520) @AyodeAwe
  • Switch back to using primary shared-action-workflows branch (#1519) @vyasr
  • Python API for IVF-Flat serialization (#1516) @tfeher
  • Introduce sample filtering to IVFPQ index search (#1513) @alexanderguzhva
  • Migrate from raft::device_resources -> raft::resources (#1510) @benfred
  • Use rmm allocator in CAGRA prune (#1503) @enp1s0
  • Update recipes to GTest version >=1.13.0 (#1501) @bdice
  • Remove raft/matrix/matrix.cuh includes (#1498) @benfred
  • Generate dataset of select_k times (#1497) @benfred
  • Re-use memory pool between benchmark runs (#1495) @benfred
  • Support CUDA 12.0 for pip wheels (#1489) @divyegala
  • Update cupy dependency (#1488) @vyasr
  • Enable sccache hits from local builds (#1478) @AyodeAwe
  • Build wheels using new single image workflow (#1477) @vyasr
  • Revert shared-action-workflows pin (#1475) @divyegala
  • CAGRA: Separate graph index sorting functionality from prune function (#1471) @enp1s0
  • Add generic reduction functions and separate reductions/warp_primitives (#1470) @akifcorduk
  • [ENH] [FINAL] Header structure: combine all PRs into one (#1469) @ahendriksen
  • use matrix::select_k in brute_force::knn call (#1463) @benfred
  • Dropping Python 3.8 (#1454) @divyegala
  • Fix linalg::map to work with non-power-of-2-sized types again (#1453) @ahendriksen
  • [ENH] Enable building with clang (limit strict error checking to GCC) (#1452) @ahendriksen
  • Remove usage of rapids-get-rapids-version-from-git (#1436) @jjacobelli
  • Minor Updates to Sparse Structures (#1432) @divyegala
  • Use nvtx3 includes. (#1431) @bdice
  • Remove wheel pytest verbosity (#1424) @sevagh
  • Add python bindings for matrix::select_k (#1422) @benfred
  • Using raft::resources across raft::random (#1420) @cjnolet
  • Generate build metrics report for test and benchmarks (#1414) @divyegala
  • Update clang-format to 16.0.1. (#1412) @bdice
  • Use ARC V2 self-hosted runners for GPU jobs (#1410) @jjacobelli
  • Remove uses-setup-env-vars (#1406) @vyasr
  • Resolve conflicts in auto-merger of branch-23.06 and branch-23.04 (#1403) @galipremsagar
  • Adding base header-only conda package without cuda math libs (#1386) @cjnolet
  • Fix IVF-PQ API to use device_vector_view (#1384) @lowener
  • Branch 23.06 merge 23.04 (#1379) @vyasr
  • Forward merge branch 23.04 into 23.06 (#1350) @cjnolet
  • Fused L2 1-NN based on cutlass 3xTF32 / DMMA (#1118) @mdoijade

v23.08.00a

1 year ago

🚨 Breaking Changes

  • Stop using setup.py in build.sh (#1645) @vyasr
  • CAGRA max_queries auto configuration (#1613) @enp1s0
  • Rename the CAGRA prune function to optimize (#1588) @enp1s0
  • CAGRA pad dataset for 128bit vectorized load (#1505) @tfeher
  • Sparse Pairwise Distances API Updates (#1502) @divyegala
  • Cagra index construction without copying device mdarrays (#1494) @tfeher

🐛 Bug Fixes

  • Add rmm to pylibraft run dependencies, since it is used by Cython. (#1656) @bdice
  • Hotfix: wrong constant in IVF-PQ fp_8bit2half (#1654) @achirkin
  • Fix uploading of RAFT nightly packages (#1638) @dantegd
  • Fix cagra multi CTA bug (#1628) @enp1s0
  • pass correct stream to cutlass kernel launch of L2/cosine pairwise distance kernels (#1597) @mdoijade
  • Fix launchconfig y-gridsize too large in epilogue kernel (#1586) @mfoerste4
  • Fix update version and pinnings for 23.08. (#1556) @bdice
  • Fix for function exposing KNN merge (#1418) @viclafargue

📖 Documentation

  • Fix the documentation about changing the logging level (#1596) @enp1s0
  • Fix raft::bitonic_sort small usage example (#1580) @enp1s0

🚀 New Features

  • Use rapids-cmake new parallel testing feature (#1623) @robertmaynard
  • Add support for row-major slice (#1591) @lowener
  • raft: Build CUDA 12 packages (#1388) @vyasr

🛠️ Improvements

  • Fix CMake CUDA support for pylibraft when raft is found. (#1659) @bdice
  • Cagra ANN benchmark improvements (#1658) @tfeher
  • ANN-benchmarks: avoid using the dataset during search when possible (#1657) @achirkin
  • Revert CUDA 12.0 CI workflows to branch-23.08. (#1652) @bdice
  • ANN: Optimize host-side refine (#1651) @achirkin
  • Cagra template instantiations (#1650) @tfeher
  • Stop using setup.py in build.sh (#1645) @vyasr
  • IVF-PQ: Add a (faster) direct conversion fp8->half (#1644) @achirkin
  • Further removal of uses-setup-env-vars (#1639) @dantegd
  • Drop blank line in raft-dask/meta.yaml (#1637) @jakirkham
  • Enable conservative memory allocations for RAFT IVF-Flat benchmarks. (#1634) @tfeher
  • Fixing ann bench cmake (and docs) (#1630) @cjnolet
  • [WIP] Test CI issues (#1626) @VibhuJawa
  • Set pool memory resource for raft IVF ANN benchmarks (#1625) @tfeher
  • Adding sort option to matrix::select_k api (#1615) @cjnolet
  • CAGRA max_queries auto configuration (#1613) @enp1s0
  • Use exceptions instead of exit(-1) (#1594) @benfred
  • [REVIEW] Add scheduler_file argument to support MNMG setup (#1593) @VibhuJawa
  • Rename the CAGRA prune function to optimize (#1588) @enp1s0
  • This PR adds support to __half and nb_bfloat16 to myAtomicReduce (#1585) @Kh4ster
  • [IMP] move core CUDA RT macros to cuda_rt_essentials.hpp (#1584) @MatthiasKohl
  • preprocessor syntax fix (#1582) @AyodeAwe
  • use rapids-upload-docs script (#1578) @AyodeAwe
  • Unpin dask and distributed for development and fix merge_labels test (#1574) @galipremsagar
  • Remove documentation build scripts for Jenkins (#1570) @ajschmidt8
  • Add support to __half and nv_bfloat16 to most math functions (#1554) @Kh4ster
  • Add RAFT ANN benchmark for CAGRA (#1552) @enp1s0
  • Update CAGRA knn_graph_sort to use Raft::bitonic_sort (#1550) @enp1s0
  • Add identity matrix function (#1548) @lowener
  • Unpin scikit-build upper bound (#1547) @vyasr
  • Migrate wheel workflow scripts locally (#1546) @divyegala
  • Add sample filtering for ivf_flat. Filtering code refactoring and cleanup (#1541) @alexanderguzhva
  • CAGRA pad dataset for 128bit vectorized load (#1505) @tfeher
  • Sparse Pairwise Distances API Updates (#1502) @divyegala
  • Add CAGRA gbench (#1496) @tfeher
  • Cagra index construction without copying device mdarrays (#1494) @tfeher

v23.04.00

1 year ago

🚨 Breaking Changes

  • Pin dask and distributed for release (#1399) @galipremsagar
  • Remove faiss_mr.hpp (#1351) @benfred
  • Removing FAISS from build (#1340) @cjnolet
  • Generic linalg::map (#1337) @achirkin
  • Consolidate pre-compiled specializations into single libraft binary (#1333) @cjnolet
  • Generic linalg::map (#1329) @achirkin
  • Update and standardize IVF indexes API (#1328) @viclafargue
  • IVF-Flat index splitting (#1271) @lowener
  • IVF-PQ: store cluster data in individual lists and reduce templates (#1249) @achirkin
  • Fix for svd API (#1190) @lowener
  • Remove deprecated headers (#1145) @lowener

🐛 Bug Fixes

  • Fix primitives benchmarks (#1389) @ahendriksen
  • Fixing index-url link on pip install docs (#1378) @cjnolet
  • Adding some functions back in that seem to be a copy/paste error (#1373) @cjnolet
  • Remove usage of Dask's get_worker (#1365) @pentschev
  • Remove MANIFEST.in use auto-generated one for sdists and package_data for wheels (#1348) @vyasr
  • Revert "Generic linalg::map (#1329)" (#1336) @cjnolet
  • Small follow-up to specializations cleanup (#1332) @cjnolet
  • Fixing select_k specializations (#1330) @cjnolet
  • Fixing remaining bug in ann_quantized (#1327) @cjnolet
  • Fixign a couple small kmeans bugs (#1274) @cjnolet
  • Remove no longer instantiated templates from list of extern template declarations (#1272) @vyasr
  • Bump pinned deps to 23.4 (#1266) @vyasr
  • Fix the destruction of interruptible token registry (#1229) @achirkin
  • Expose raft::handle_t in the public header (#1192) @vyasr
  • Fix for svd API (#1190) @lowener

📖 Documentation

  • Adding architecture diagram to README.md (#1370) @cjnolet
  • Adding small readme image (#1354) @cjnolet
  • Fix serialize documentation of ivf_flat (#1347) @lowener
  • Small updates to docs (#1339) @cjnolet

🚀 New Features

  • Add Options to Generate Build Metrics Report (#1369) @divyegala
  • Generic linalg::map (#1337) @achirkin
  • Generic linalg::map (#1329) @achirkin
  • matrix::select_k specializations (#1268) @achirkin
  • Use rapids-cmake new COMPONENT exporting feature (#1154) @robertmaynard

🛠️ Improvements

  • Pin dask and distributed for release (#1399) @galipremsagar
  • Pin cupy in wheel tests to supported versions (#1383) @vyasr
  • CAGRA (#1375) @tfeher
  • add a distance epilogue function to the bfknn call (#1371) @benfred
  • Relax UCX pin to allow 1.14 (#1366) @pentschev
  • Generate pyproject dependencies with dfg (#1364) @vyasr
  • Add nccl to dependencies.yaml (#1361) @benfred
  • Add extern template for ivfflat_interleaved_scan (#1360) @ahendriksen
  • Stop setting package version attribute in wheels (#1359) @vyasr
  • Fix ivf flat specialization header IdxT from uint64_t -> int64_t (#1358) @ahendriksen
  • Remove faiss_mr.hpp (#1351) @benfred
  • Rename optional helper function (#1345) @viclafargue
  • Pass minimum target compile options through raft::raft (#1341) @cjnolet
  • Removing FAISS from build (#1340) @cjnolet
  • Add dispatch based on compute architecture (#1335) @ahendriksen
  • Consolidate pre-compiled specializations into single libraft binary (#1333) @cjnolet
  • Update and standardize IVF indexes API (#1328) @viclafargue
  • Using int64_t specializations for ivf_pq and refine (#1325) @cjnolet
  • Migrate as much as possible to pyproject.toml (#1324) @vyasr
  • Pass AWS_SESSION_TOKEN and SCCACHE_S3_USE_SSL vars to conda build (#1321) @ajschmidt8
  • Numerical stability fixes for l2 pairwise distance (#1319) @benfred
  • Consolidate linter configuration into pyproject.toml (#1317) @vyasr
  • IVF-Flat Python wrappers (#1316) @tfeher
  • Add stream overloads to ivf_pq serialize/deserialize methods (#1315) @divyegala
  • Temporary buffer to view host or device memory in device (#1313) @divyegala
  • RAFT skeleton project template (#1312) @cjnolet
  • Fix docs build to be pydata-sphinx-theme=0.13.0 compatible (#1311) @galipremsagar
  • Update to GCC 11 (#1309) @bdice
  • Reduce compile times of distance specializations (#1307) @ahendriksen
  • Fix docs upload path (#1305) @AyodeAwe
  • Add end-to-end CUDA ann-benchmarks to raft (#1304) @cjnolet
  • Make docs builds less verbose (#1302) @AyodeAwe
  • Stop using versioneer to manage versions (#1301) @vyasr
  • Adding util to get the device id for a pointer address (#1297) @cjnolet
  • Enable dfg in pre-commit. (#1293) @vyasr
  • Python API for brute-force KNN (#1292) @cjnolet
  • support k up to 2048 in faiss select (#1287) @benfred
  • CI: Remove specification of manual stage for check_style.sh script. (#1283) @csadorf
  • New Sparse Matrix APIs (#1279) @cjnolet
  • fix build on cuda 11.5 (#1277) @benfred
  • IVF-Flat index splitting (#1271) @lowener
  • Remove duplicate librmm runtime dependency (#1264) @ajschmidt8
  • build.sh: Add option to log nvcc compile times (#1262) @ahendriksen
  • Reduce error handling verbosity in CI tests scripts (#1259) @AjayThorve
  • Update shared workflow branches (#1256) @ajschmidt8
  • Keeping only compute similarity specializations for uint64_t for now (#1255) @cjnolet
  • Fix compile time explosion for minkowski distance (#1254) @ahendriksen
  • Unpin dask and distributed for development (#1253) @galipremsagar
  • Remove gpuCI scripts. (#1252) @bdice
  • IVF-PQ: store cluster data in individual lists and reduce templates (#1249) @achirkin
  • Fix inconsistency between the building doc and CMakeLists.txt (#1248) @yong-wang
  • Consolidating ANN benchmarks and tests (#1243) @cjnolet
  • mdspan view for IVF-PQ API (#1236) @viclafargue
  • Remove uint32 distance idx specializations (#1235) @cjnolet
  • Add innerproduct to the pairwise distance api (#1226) @benfred
  • Move date to build string in conda recipe (#1223) @ajschmidt8
  • Replace faiss bfKnn (#1202) @benfred
  • Expose KMeans init_plus_plus in pylibraft (#1198) @betatim
  • Fix ucx-py version (#1184) @ajschmidt8
  • Improve the performance of radix top-k (#1175) @yong-wang
  • Add docs build job (#1168) @AyodeAwe
  • Remove deprecated headers (#1145) @lowener
  • Simplify distance/detail to make is easier to dispatch to different kernel implementations (#1142) @ahendriksen
  • Initial port of auto-find-k (#1070) @cjnolet

v23.02.00

1 year ago

🚨 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 and distributed 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 add map_offset as an improved version of write_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 Python 3.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 and distributed 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

v23.04.00a

1 year ago

🚨 Breaking Changes

  • Remove faiss_mr.hpp (#1351) @benfred
  • Removing FAISS from build (#1340) @cjnolet
  • Generic linalg::map (#1337) @achirkin
  • Consolidate pre-compiled specializations into single libraft binary (#1333) @cjnolet
  • Generic linalg::map (#1329) @achirkin
  • Update and standardize IVF indexes API (#1328) @viclafargue
  • IVF-Flat index splitting (#1271) @lowener
  • IVF-PQ: store cluster data in individual lists and reduce templates (#1249) @achirkin
  • Fix for svd API (#1190) @lowener
  • Remove deprecated headers (#1145) @lowener

🐛 Bug Fixes

  • Remove MANIFEST.in use auto-generated one for sdists and package_data for wheels (#1348) @vyasr
  • Revert "Generic linalg::map (#1329)" (#1336) @cjnolet
  • Small follow-up to specializations cleanup (#1332) @cjnolet
  • Fixing select_k specializations (#1330) @cjnolet
  • Fixing remaining bug in ann_quantized (#1327) @cjnolet
  • Fixign a couple small kmeans bugs (#1274) @cjnolet
  • Remove no longer instantiated templates from list of extern template declarations (#1272) @vyasr
  • Bump pinned deps to 23.4 (#1266) @vyasr
  • Fix the destruction of interruptible token registry (#1229) @achirkin
  • Expose raft::handle_t in the public header (#1192) @vyasr
  • Fix for svd API (#1190) @lowener

📖 Documentation

  • Adding small readme image (#1354) @cjnolet
  • Fix serialize documentation of ivf_flat (#1347) @lowener
  • Small updates to docs (#1339) @cjnolet

🚀 New Features

  • Generic linalg::map (#1337) @achirkin
  • Generic linalg::map (#1329) @achirkin
  • matrix::select_k specializations (#1268) @achirkin

🛠️ Improvements

  • Fix ivf flat specialization header IdxT from uint64_t -> int64_t (#1358) @ahendriksen
  • Remove faiss_mr.hpp (#1351) @benfred
  • Rename optional helper function (#1345) @viclafargue
  • Pass minimum target compile options through raft::raft (#1341) @cjnolet
  • Removing FAISS from build (#1340) @cjnolet
  • Add dispatch based on compute architecture (#1335) @ahendriksen
  • Consolidate pre-compiled specializations into single libraft binary (#1333) @cjnolet
  • Update and standardize IVF indexes API (#1328) @viclafargue
  • Using int64_t specializations for ivf_pq and refine (#1325) @cjnolet
  • Migrate as much as possible to pyproject.toml (#1324) @vyasr
  • Pass AWS_SESSION_TOKEN and SCCACHE_S3_USE_SSL vars to conda build (#1321) @ajschmidt8
  • Numerical stability fixes for l2 pairwise distance (#1319) @benfred
  • Consolidate linter configuration into pyproject.toml (#1317) @vyasr
  • IVF-Flat Python wrappers (#1316) @tfeher
  • Add stream overloads to ivf_pq serialize/deserialize methods (#1315) @divyegala
  • Temporary buffer to view host or device memory in device (#1313) @divyegala
  • Fix docs build to be pydata-sphinx-theme=0.13.0 compatible (#1311) @galipremsagar
  • Update to GCC 11 (#1309) @bdice
  • Fix docs upload path (#1305) @AyodeAwe
  • Make docs builds less verbose (#1302) @AyodeAwe
  • Stop using versioneer to manage versions (#1301) @vyasr
  • Adding util to get the device id for a pointer address (#1297) @cjnolet
  • Enable dfg in pre-commit. (#1293) @vyasr
  • support k up to 2048 in faiss select (#1287) @benfred
  • CI: Remove specification of manual stage for check_style.sh script. (#1283) @csadorf
  • New Sparse Matrix APIs (#1279) @cjnolet
  • fix build on cuda 11.5 (#1277) @benfred
  • IVF-Flat index splitting (#1271) @lowener
  • Remove duplicate librmm runtime dependency (#1264) @ajschmidt8
  • Reduce error handling verbosity in CI tests scripts (#1259) @AjayThorve
  • Update shared workflow branches (#1256) @ajschmidt8
  • Keeping only compute similarity specializations for uint64_t for now (#1255) @cjnolet
  • Fix compile time explosion for minkowski distance (#1254) @ahendriksen
  • Unpin dask and distributed for development (#1253) @galipremsagar
  • Remove gpuCI scripts. (#1252) @bdice
  • IVF-PQ: store cluster data in individual lists and reduce templates (#1249) @achirkin
  • Fix inconsistency between the building doc and CMakeLists.txt (#1248) @yong-wang
  • Consolidating ANN benchmarks and tests (#1243) @cjnolet
  • mdspan view for IVF-PQ API (#1236) @viclafargue
  • Remove uint32 distance idx specializations (#1235) @cjnolet
  • Add innerproduct to the pairwise distance api (#1226) @benfred
  • Move date to build string in conda recipe (#1223) @ajschmidt8
  • Replace faiss bfKnn (#1202) @benfred
  • Expose KMeans init_plus_plus in pylibraft (#1198) @betatim
  • Fix ucx-py version (#1184) @ajschmidt8
  • Add docs build job (#1168) @AyodeAwe
  • Remove deprecated headers (#1145) @lowener
  • Simplify distance/detail to make is easier to dispatch to different kernel implementations (#1142) @ahendriksen
  • Initial port of auto-find-k (#1070) @cjnolet

v22.12.01

1 year ago

🚨 Breaking Changes

  • Make ucx linkage explicit and add a new CMake target for it (#1032) @vyasr
  • IVF-Flat: make adaptive-centers behavior optional (#1019) @achirkin
  • Remove make_mdspan template for memory_type enum (#1005) @wphicks
  • ivf-pq performance tweaks (#926) @achirkin

🐛 Bug Fixes

  • Pin libcusparse and libcusolver to avoid CUDA 12 (#1097) @wphicks
  • Fix pinnings for dask. (#1082) @vyasr
  • fusedL2NN: Add input alignment checks (#1045) @achirkin
  • Fix fusedL2NN bug that can happen when the same point appears in both x and y (#1040) @Nyrio
  • Fix trivial deprecated header includes (#1034) @achirkin
  • Suppres ptxas stack size warning in Debug mode (#1033) @tfeher
  • Don't use CMake 3.25.0 as it has a FindCUDAToolkit show stopping bug (#1029) @robertmaynard
  • Fix for gemmi deprecation (#1020) @lowener
  • Remove make_mdspan template for memory_type enum (#1005) @wphicks
  • Add except + to cython extern cdef declarations (#1001) @benfred
  • Changing Overloads for GCC 11/12 bug (#995) @divyegala
  • Changing Overloads for GCC 11/12 bugs (#992) @divyegala
  • Fix pylibraft docstring example code (#980) @benfred
  • Update raft tests to compile with C++17 features enabled (#973) @robertmaynard
  • Making ivf flat gtest invoke mdspanified APIs (#955) @cjnolet
  • Updates to kmeans public API to fix cuml (#932) @cjnolet
  • Fix logger (vsnprintf consumes args) (#917) @Nyrio
  • Adding missing include for device mdspan in mean_squared_error.cuh (#906) @cjnolet

📖 Documentation

  • Add links to the docs site in the README (#1042) @benfred
  • Moving contributing and developer guides to main docs (#1006) @cjnolet
  • Update compiler flags in build docs (#999) @cjnolet
  • Updating minimum required gcc version (#993) @cjnolet
  • important doc updates for core, cluster, and neighbors (#933) @cjnolet

🚀 New Features

  • ANN refinement Python wrapper (#1052) @tfeher
  • Add ANN refinement method (#1038) @tfeher
  • IVF-Flat: make adaptive-centers behavior optional (#1019) @achirkin
  • Add wheel builds (#1013) @vyasr
  • Update cuSparse wrappers to avoid deprecated functions (#989) @wphicks
  • Provide memory_type enum (#984) @wphicks
  • Add Tests for kmeans API (#982) @lowener
  • mdspanifying weighted_mean and add raft::stats tests (#910) @lowener
  • Implement raft::stats API with mdspan (#802) @lowener

🛠️ Improvements

  • Pin dask and distributed for release (#1062) @galipremsagar
  • IVF-PQ: use device properties helper (#1035) @achirkin
  • Make ucx linkage explicit and add a new CMake target for it (#1032) @vyasr
  • Fixing broken doc functions and improving coverage (#1030) @cjnolet
  • Expose cluster_cost to python (#1028) @benfred
  • Adding lightweight cai_wrapper to reduce boilerplate (#1027) @cjnolet
  • Change raft docs theme to pydata-sphinx-theme (#1026) @galipremsagar
  • Revert " Pin dask and distributed for release" (#1023) @galipremsagar
  • Pin dask and distributed for release (#1022) @galipremsagar
  • Replace dots_along_rows with rowNorm and improve coalescedReduction performance (#1011) @Nyrio
  • Moving TestDeviceBuffer to pylibraft.common.device_ndarray (#1008) @cjnolet
  • Add codespell as a linter (#1007) @benfred
  • Fix environment channels (#996) @bdice
  • Automatically sync handle when not passed to pylibraft functions (#987) @benfred
  • Replace normalize_rows in ann_utils.cuh by a new rowNormalize prim and improve performance for thin matrices (small n_cols) (#979) @Nyrio
  • Forward merge 22.10 into 22.12 (#978) @vyasr
  • Use new rapids-cmake functionality for rpath handling. (#976) @vyasr
  • Update cuda-python dependency to 11.7.1 (#975) @galipremsagar
  • IVF-PQ Python wrappers (#970) @tfeher
  • Remove unnecessary requirements for raft-dask. (#969) @vyasr
  • Expose linalg::dot in public API (#968) @benfred
  • Fix kmeans cluster templates (#966) @lowener
  • Run linters using pre-commit (#965) @benfred
  • linewiseop padded span test (#964) @mfoerste4
  • Add unittest for linalg::mean_squared_error (#961) @benfred
  • Exposing fused l2 knn to public APIs (#959) @cjnolet
  • Remove a left over print statement from pylibraft (#958) @betatim
  • Switch to using rapids-cmake for gbench. (#954) @vyasr
  • Some cleanup of k-means internals (#953) @cjnolet
  • Remove stale labeler (#951) @raydouglass
  • Adding optional handle to each public API function (along with example) (#947) @cjnolet
  • Improving documentation across the board. Adding quick-start to breathe docs. (#943) @cjnolet
  • Add unittest for linalg::axpy (#942) @benfred
  • Add cutlass 3xTF32,DMMA based L2/cosine distance kernels for SM 8.0 or higher (#939) @mdoijade
  • Calculate max cluster size correctly for IVF-PQ (#938) @tfeher
  • Add tests for raft::matrix (#937) @lowener
  • Add fusedL2NN benchmark (#936) @Nyrio
  • ivf-pq performance tweaks (#926) @achirkin
  • Adding fused_l2_nn_argmin wrapper to Pylibraft (#924) @cjnolet
  • Moving kernel gramm primitives to raft::distance::kernels (#920) @cjnolet
  • kmeans improvements: random initialization on GPU, NVTX markers, no batching when using fusedL2NN (#918) @Nyrio
  • Moving raft::spatial::knn -> raft::neighbors (#914) @cjnolet
  • Create cub-based argmin primitive and replace argmin_along_rows in ANN kmeans (#912) @Nyrio
  • Replace map_along_rows with matrixVectorOp (#911) @Nyrio
  • Integrate accumulate_into_selected from ANN utils into linalg::reduce_rows_by_keys (#909) @Nyrio
  • Re-enabling Fused L2 NN specializations and renaming cub::KeyValuePair -> raft::KeyValuePair (#905) @cjnolet
  • Unpin dask and distributed for development (#886) @galipremsagar
  • Adding padded layout 'layout_padded_general' (#725) @mfoerste4

v22.12.00

1 year ago

🚨 Breaking Changes

  • Make ucx linkage explicit and add a new CMake target for it (#1032) @vyasr
  • IVF-Flat: make adaptive-centers behavior optional (#1019) @achirkin
  • Remove make_mdspan template for memory_type enum (#1005) @wphicks
  • ivf-pq performance tweaks (#926) @achirkin

🐛 Bug Fixes

  • fusedL2NN: Add input alignment checks (#1045) @achirkin
  • Fix fusedL2NN bug that can happen when the same point appears in both x and y (#1040) @Nyrio
  • Fix trivial deprecated header includes (#1034) @achirkin
  • Suppres ptxas stack size warning in Debug mode (#1033) @tfeher
  • Don't use CMake 3.25.0 as it has a FindCUDAToolkit show stopping bug (#1029) @robertmaynard
  • Fix for gemmi deprecation (#1020) @lowener
  • Remove make_mdspan template for memory_type enum (#1005) @wphicks
  • Add except + to cython extern cdef declarations (#1001) @benfred
  • Changing Overloads for GCC 11/12 bug (#995) @divyegala
  • Changing Overloads for GCC 11/12 bugs (#992) @divyegala
  • Fix pylibraft docstring example code (#980) @benfred
  • Update raft tests to compile with C++17 features enabled (#973) @robertmaynard
  • Making ivf flat gtest invoke mdspanified APIs (#955) @cjnolet
  • Updates to kmeans public API to fix cuml (#932) @cjnolet
  • Fix logger (vsnprintf consumes args) (#917) @Nyrio
  • Adding missing include for device mdspan in mean_squared_error.cuh (#906) @cjnolet

📖 Documentation

  • Add links to the docs site in the README (#1042) @benfred
  • Moving contributing and developer guides to main docs (#1006) @cjnolet
  • Update compiler flags in build docs (#999) @cjnolet
  • Updating minimum required gcc version (#993) @cjnolet
  • important doc updates for core, cluster, and neighbors (#933) @cjnolet

🚀 New Features

  • ANN refinement Python wrapper (#1052) @tfeher
  • Add ANN refinement method (#1038) @tfeher
  • IVF-Flat: make adaptive-centers behavior optional (#1019) @achirkin
  • Add wheel builds (#1013) @vyasr
  • Update cuSparse wrappers to avoid deprecated functions (#989) @wphicks
  • Provide memory_type enum (#984) @wphicks
  • Add Tests for kmeans API (#982) @lowener
  • mdspanifying weighted_mean and add raft::stats tests (#910) @lowener
  • Implement raft::stats API with mdspan (#802) @lowener

🛠️ Improvements

  • Pin dask and distributed for release (#1062) @galipremsagar
  • IVF-PQ: use device properties helper (#1035) @achirkin
  • Make ucx linkage explicit and add a new CMake target for it (#1032) @vyasr
  • Fixing broken doc functions and improving coverage (#1030) @cjnolet
  • Expose cluster_cost to python (#1028) @benfred
  • Adding lightweight cai_wrapper to reduce boilerplate (#1027) @cjnolet
  • Change raft docs theme to pydata-sphinx-theme (#1026) @galipremsagar
  • Revert " Pin dask and distributed for release" (#1023) @galipremsagar
  • Pin dask and distributed for release (#1022) @galipremsagar
  • Replace dots_along_rows with rowNorm and improve coalescedReduction performance (#1011) @Nyrio
  • Moving TestDeviceBuffer to pylibraft.common.device_ndarray (#1008) @cjnolet
  • Add codespell as a linter (#1007) @benfred
  • Fix environment channels (#996) @bdice
  • Automatically sync handle when not passed to pylibraft functions (#987) @benfred
  • Replace normalize_rows in ann_utils.cuh by a new rowNormalize prim and improve performance for thin matrices (small n_cols) (#979) @Nyrio
  • Forward merge 22.10 into 22.12 (#978) @vyasr
  • Use new rapids-cmake functionality for rpath handling. (#976) @vyasr
  • Update cuda-python dependency to 11.7.1 (#975) @galipremsagar
  • IVF-PQ Python wrappers (#970) @tfeher
  • Remove unnecessary requirements for raft-dask. (#969) @vyasr
  • Expose linalg::dot in public API (#968) @benfred
  • Fix kmeans cluster templates (#966) @lowener
  • Run linters using pre-commit (#965) @benfred
  • linewiseop padded span test (#964) @mfoerste4
  • Add unittest for linalg::mean_squared_error (#961) @benfred
  • Exposing fused l2 knn to public APIs (#959) @cjnolet
  • Remove a left over print statement from pylibraft (#958) @betatim
  • Switch to using rapids-cmake for gbench. (#954) @vyasr
  • Some cleanup of k-means internals (#953) @cjnolet
  • Remove stale labeler (#951) @raydouglass
  • Adding optional handle to each public API function (along with example) (#947) @cjnolet
  • Improving documentation across the board. Adding quick-start to breathe docs. (#943) @cjnolet
  • Add unittest for linalg::axpy (#942) @benfred
  • Add cutlass 3xTF32,DMMA based L2/cosine distance kernels for SM 8.0 or higher (#939) @mdoijade
  • Calculate max cluster size correctly for IVF-PQ (#938) @tfeher
  • Add tests for raft::matrix (#937) @lowener
  • Add fusedL2NN benchmark (#936) @Nyrio
  • ivf-pq performance tweaks (#926) @achirkin
  • Adding fused_l2_nn_argmin wrapper to Pylibraft (#924) @cjnolet
  • Moving kernel gramm primitives to raft::distance::kernels (#920) @cjnolet
  • kmeans improvements: random initialization on GPU, NVTX markers, no batching when using fusedL2NN (#918) @Nyrio
  • Moving raft::spatial::knn -> raft::neighbors (#914) @cjnolet
  • Create cub-based argmin primitive and replace argmin_along_rows in ANN kmeans (#912) @Nyrio
  • Replace map_along_rows with matrixVectorOp (#911) @Nyrio
  • Integrate accumulate_into_selected from ANN utils into linalg::reduce_rows_by_keys (#909) @Nyrio
  • Re-enabling Fused L2 NN specializations and renaming cub::KeyValuePair -> raft::KeyValuePair (#905) @cjnolet
  • Unpin dask and distributed for development (#886) @galipremsagar
  • Adding padded layout 'layout_padded_general' (#725) @mfoerste4