Skip to content

Latest commit

 

History

History
764 lines (633 loc) · 71.3 KB

CHANGELOG.md

File metadata and controls

764 lines (633 loc) · 71.3 KB

raft 23.02.00 (Date TBD)

Please see https://github.com/rapidsai/raft/releases/tag/v23.02.00a for the latest changes to this development branch.

raft 22.12.00 (8 Dec 2022)

🚨 Breaking Changes

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ 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

raft 22.10.00 (12 Oct 2022)

🚨 Breaking Changes

  • Separating mdspan/mdarray infra into host_* and device_* variants (#810) @cjnolet
  • Remove type punning from TxN_t (#781) @wphicks
  • ivf_flat::index: hide implementation details (#747) @achirkin

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements

raft 22.08.00 (17 Aug 2022)

🚨 Breaking Changes

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements

raft 22.06.00 (7 Jun 2022)

🚨 Breaking Changes

  • Rng: removed cyclic dependency creating hard-to-debug compiler errors (#639) @MatthiasKohl
  • Allow enabling NVTX markers by downstream projects after install (#610) @achirkin
  • Rng: expose host-rng-state in host-only API (#609) @MatthiasKohl

🐛 Bug Fixes

🚀 New Features

🛠️ Improvements

raft 22.04.00 (6 Apr 2022)

🚨 Breaking Changes

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements

raft 22.02.00 (2 Feb 2022)

🚨 Breaking Changes

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements

raft 21.12.00 (9 Dec 2021)

🚨 Breaking Changes

  • Use 64 bit CuSolver API for Eigen decomposition (#349) @lowener

🐛 Bug Fixes

📖 Documentation

🛠️ Improvements

raft 21.10.00 (7 Oct 2021)

🚨 Breaking Changes

🐛 Bug Fixes

  • Accounting for rmm::cuda_stream_pool not having a constructor for 0 streams (#329) @divyegala
  • Fix wrong lda parameter in gemv (#327) @achirkin
  • Fix matrixVectorOp to verify promoted pointer type is still aligned to vectorized load boundary (#325) @viclafargue
  • Pin rmm to branch-21.10 and remove warnings from kmeans.hpp (#322) @dantegd
  • Temporarily pin RMM while refactor removes deprecated calls (#315) @dantegd
  • Fix more warnings (#311) @harrism

📖 Documentation

🚀 New Features

  • Add Hamming, Jensen-Shannon, KL-Divergence, Russell rao and Correlation distance metrics support (#306) @mdoijade

🛠️ Improvements

raft 21.08.00 (4 Aug 2021)

🚨 Breaking Changes

🐛 Bug Fixes

  • Fix support for different input and output types in linalg::reduce (#296) @Nyrio
  • Const raft handle in sparse bfknn (#280) @cjnolet
  • Add cuco::cuco to list of linked libraries (#279) @trxcllnt
  • Use nested include in destination of install headers to avoid docker permission issues (#263) @dantegd
  • Update UCX-Py version to 0.21 (#255) @pentschev
  • Fix mst knn test build failure due to RMM device_buffer change (#253) @mdoijade

🚀 New Features

🛠️ Improvements

raft 21.06.00 (9 Jun 2021)

🐛 Bug Fixes

🛠️ Improvements

raft 0.19.0 (21 Apr 2021)

🐛 Bug Fixes

🚀 New Features

  • Moving optimized L2 1-nearest neighbors implementation from cuml (#158) @cjnolet

🛠️ Improvements

raft 0.18.0 (24 Feb 2021)

Breaking Changes 🚨

  • Make NCCL root initialization configurable. (#120) @drobison00

Bug Fixes 🐛

  • Add idx_t template parameter to matrix helper routines (#131) @tfeher
  • Eliminate CUDA 10.2 as valid for large svd solving (#129) @wphicks
  • Update check to allow svd solver on CUDA>=10.2 (#125) @wphicks
  • Updating gpu build.sh and debugging threads CI issue (#123) @dantegd

New Features 🚀

  • Adding additional distances (#116) @cjnolet

Improvements 🛠️

  • Update stale GHA with exemptions & new labels (#152) @mike-wendt
  • Add GHA to mark issues/prs as stale/rotten (#150) @Ethyling
  • Prepare Changelog for Automation (#135) @ajschmidt8
  • Adding Jensen-Shannon and BrayCurtis to DistanceType for Nearest Neighbors (#132) @lowener
  • Add brute force KNN (#126) @hlinsen
  • Make NCCL root initialization configurable. (#120) @drobison00
  • Auto-label PRs based on their content (#117) @jolorunyomi
  • Add gather & gatherv to raft::comms::comms_t (#114) @seunghwak
  • Adding canberra and chebyshev to distance types (#99) @cjnolet
  • Gpuciscripts clean and update (#92) @msadang

RAFT 0.17.0 (10 Dec 2020)

New Features

  • PR #65: Adding cuml prims that break circular dependency between cuml and cumlprims projects
  • PR #101: MST core solver
  • PR #93: Incorporate Date/Nagi implementation of Hungarian Algorithm
  • PR #94: Allow generic reductions for the map then reduce op
  • PR #95: Cholesky rank one update prim

Improvements

  • PR #108: Remove unused old-gpubuild.sh
  • PR #73: Move DistanceType enum from cuML to RAFT
  • pr #92: Cleanup gpuCI scripts
  • PR #98: Adding InnerProduct to DistanceType
  • PR #103: Epsilon parameter for Cholesky rank one update
  • PR #100: Add divyegala as codeowner
  • PR #111: Cleanup gpuCI scripts
  • PR #120: Update NCCL init process to support root node placement.

Bug Fixes

  • PR #106: Specify dependency branches to avoid pip resolver failure
  • PR #77: Fixing CUB include for CUDA < 11
  • PR #86: Missing headers for newly moved prims
  • PR #102: Check alignment before binaryOp dispatch
  • PR #104: Fix update-version.sh
  • PR #109: Fixing Incorrect Deallocation Size and Count Bugs

RAFT 0.16.0 (Date TBD)

New Features

  • PR #63: Adding MPI comms implementation
  • PR #70: Adding CUB to RAFT cmake

Improvements

  • PR #59: Adding csrgemm2 to cusparse_wrappers.h
  • PR #61: Add cusparsecsr2dense to cusparse_wrappers.h
  • PR #62: Adding get_device_allocator to handle.pxd
  • PR #67: Remove dependence on run-time type info

Bug Fixes

  • PR #56: Fix compiler warnings.
  • PR #64: Remove cublas_try from cusolver_wrappers.h
  • PR #66: Fixing typo get_stream to getStream in handle.pyx
  • PR #68: Change the type of recvcounts & displs in allgatherv from size_t[] to size_t* and int[] to size_t*, respectively.
  • PR #69: Updates for RMM being header only
  • PR #74: Fix std_comms::comm_split bug
  • PR #79: remove debug print statements
  • PR #81: temporarily expose internal NCCL communicator

RAFT 0.15.0 (Date TBD)

New Features

  • PR #12: Spectral clustering.
  • PR #7: Migrating cuml comms -> raft comms_t
  • PR #18: Adding commsplit to cuml communicator
  • PR #15: add exception based error handling macros
  • PR #29: Add ceildiv functionality
  • PR #44: Add get_subcomm and set_subcomm to handle_t

Improvements

  • PR #13: Add RMM_INCLUDE and RMM_LIBRARY options to allow linking to non-conda RMM
  • PR #22: Preserve order in comms workers for rank initialization
  • PR #38: Remove #include <cudar_utils.h> from raft/mr/
  • PR #39: Adding a virtual destructor to raft::handle_t and raft::comms::comms_t
  • PR #37: Clean-up CUDA related utilities
  • PR #41: Upgrade to cusparseSpMV(), alg selection, and rectangular matrices.
  • PR #45: Add Ampere target to cuda11 cmake
  • PR #47: Use gtest conda package in CMake/build.sh by default

Bug Fixes

  • PR #17: Make destructor inline to avoid redeclaration error
  • PR #25: Fix bug in handle_t::get_internal_streams
  • PR #26: Fix bug in RAFT_EXPECTS (add parentheses surrounding cond)
  • PR #34: Fix issue with incorrect docker image being used in local build script
  • PR #35: Remove #include <nccl.h> from raft/error.hpp
  • PR #40: Preemptively fixed future CUDA 11 related errors.
  • PR #43: Fixed CUDA version selection mechanism for SpMV.
  • PR #46: Fix for cpp file extension issue (nvcc-enforced).
  • PR #48: Fix gtest target names in cmake build gtest option.
  • PR #49: Skip raft comms test if raft module doesn't exist

RAFT 0.14.0 (Date TBD)

New Features

  • Initial RAFT version
  • PR #3: defining raft::handle_t, device_buffer, host_buffer, allocator classes

Bug Fixes

  • PR #5: Small build.sh fixes