Skip to content

Releases: rapidsai/cuml

v25.10.00

08 Oct 22:37
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Deprecate convert_to_* methods in favor of as_* methods in cuml.ensemble (#7254) @jcrist
  • KernelDensity.score_samples output type & dtype fixes (#7240) @jcrist
  • Remove get_json/get_detailed_text/get_summary_text from ensemble estimators (#7177) @jcrist
  • Deprecate accuracy_metric (#7170) @jcrist
  • Deprecate predict_model in cuml.ensemble/cuml.dask.ensemble (#7155) @jcrist
  • Remove deprecated cuml.accel CLI options (#7110) @jcrist
  • Remove deprecation warnings in 25.10 (#7109) @jcrist
  • Remove deprecation warning and data_on_host option for UMAP (#7099) @jinsolp
  • Fix UMAP graph thresholding (#6595) @viclafargue

🐛 Bug Fixes

  • Set NCCL rpath for cu13 wheels (#7304) @divyegala
  • Add NCCL library path to CMakeLists.txt for libcuml (#7281) @csadorf
  • Ensure finite values passed to SpectralEmbedding (#7280) @jcrist
  • Ensure sklearn roundtrip attribute consistency (#7278) @jcrist
  • Fix SpectralEmbedding precomputed option with 0% sparsity (#7271) @aamijar
  • Fix test reference object in test_onehot_inverse_transform_handle_unknown (#7246) @mroeschke
  • Slightly increase tolerance in ridge regression test. (#7243) @csadorf
  • Increase rtol for float32 in test_complement_partial_fit to reduce intermittent failures (#7237) @csadorf
  • Conditionally xfail test_umap_fit_transform_score for nrows=500. (#7232) @csadorf
  • Fixup StandardScaler.n_samples_seen_ (#7209) @jcrist
  • Validate sample_weight in KernelDensity.fit (#7208) @jcrist
  • Support non-contiguous input in input_to_host_array (#7207) @jcrist
  • Set correct min_samples for HDBSCAN single_linkage (#7195) @tarang-jain
  • Raise Proper Exception when HDBSCAN min_samples > number of samples (#7193) @tarang-jain
  • Remove docs/handling of solver="cd" in Ridge (#7190) @jcrist
  • Error nicely in KMeans if n_samples < n_clusters (#7189) @jcrist
  • Further increase tolerance in test_random_seed_consistency. (#7180) @csadorf
  • Use custom plugin to download test data early (#7169) @betatim
  • Fix UMAP outlier issue by checking for outliers and shuffling (#7131) @jinsolp
  • Note non-determinism in random projection transforms (#7129) @jcrist
  • Rewrite random projection estimators (#7119) @jcrist
  • Prevent CUDA issues when running UMAP with scikit-learn compatibility test suite (#7107) @viclafargue
  • Fix accel profiler 2x count of some fallback methods (#7101) @jcrist
  • Don't call to_output on a cupy array (#7044) @Matt711
  • Add fix for devices that do not have memory resources (#6823) @viclafargue
  • Fix UMAP graph thresholding (#6595) @viclafargue

📖 Documentation

🚀 New Features

🛠️ Improvements

[NIGHTLY] v25.12.00

03 Oct 17:57
Compare
Choose a tag to compare
[NIGHTLY] v25.12.00 Pre-release
Pre-release

🔗 Links

🚨 Breaking Changes

🐛 Bug Fixes

🛠️ Improvements

v25.08.00

06 Aug 20:19
b081fcd
Compare
Choose a tag to compare

cuML 25.08 Release Notes

🎉 What's New

⭐ Highlights

  • Spectral Embedding: New algorithm for dimensionality reduction and manifold learning (#6581) @aamijar
  • cuML.accel Profiler: Added profiling capabilities for Zero Code Change Acceleration (#7021) @jcrist
  • cuML.accel LinearSVC/LinearSVR: New support for linear support vector classification and regression (#6866) @viclafargue
  • cuML.accel set_output/get_feature_names_out: Added support for scikit-learn output configuration (#6942) @jcrist

🔧 Major Improvements

UMAP Enhancements

  • Multi-GPU KNN graph building support (#7019) @jinsolp
  • Improved handling of identical vectors in distance calculations (#6904) @jinsolp
  • Disabled non-determinism on small datasets for better reproducibility (#7004) @viclafargue

FIL (Forest Inference Library) Improvements

Zero Code Change Acceleration (cuml.accel)

Algorithm Enhancements

  • DBSCAN: Now computes components_ attribute (#6976) @jcrist
  • LogisticRegression: Exposed n_iter_ attribute for iteration tracking (#6911) @betatim
  • RandomForest: Fixed default max_features parameter (#6862) @jcrist
  • TSNE: Added fallback support for unsupported metrics (#6992) @jcrist
  • Ridge: Better handling of underdetermined systems (#7003) @betatim

Developer Experience

  • Testing: Enhanced CI with upstream test suites for HDBSCAN, UMAP, and other algorithms (#6995, #6989, #6986) @jcrist
  • Documentation: Comprehensive updates to Python developer guide and API documentation (#6843) @csadorf
  • Dependencies: Updated to CUDA 12.9 and added support for scikit-learn 1.4 (#6944, #6845) @jakirkham, @betatim

🚨 Breaking Changes

Deprecated Parameters & Functions

  • UMAP: data_on_host parameter is deprecated (#6953) @jinsolp
  • HDBSCAN:
    • Prediction functions in cuml.cluster namespace are deprecated (#6943) @jcrist
    • connectivity parameter is deprecated (#6936) @jcrist
  • SGD Algorithms: penalty='none' is deprecated in MBSGDClassifier, MBSGDRegressor, and SGD (#6926) @jcrist
  • KMeans: random_state default changed to None (#6884) @jcrist

Removed Components

API Changes

🐛 Bug Fixes

Algorithm Fixes

  • UMAP: Improved handling of identical vectors in UMAP distance calculations (#6904) @jinsolp
  • TSNE: Relaxed tolerance for sparse input tests (#7033) @jinsolp
  • RandomForest: Fixed default max_features parameter (#6862) @jcrist
  • HDBSCAN: Rewrote Python wrapper for better stability (#6913) @jcrist
  • Logistic Regression: Increased tolerance in Dask tests (#6848) @csadorf

Compatibility & Dependencies

  • Fixed compatibility with scikit-learn 1.7.0 and Python 3.13.4 (#6865) @csadorf
  • Unxfailed tests affected by numba compilation errors (#6905) @csadorf

Other

📖 Documentation Updates

User Documentation

  • Supported Versions: Added comprehensive version compatibility documentation (#7040) @csadorf
  • Zero Code Change Acceleration: Updated title and reorganized documentation (#7030, #7026) @csadorf, @jcrist
  • UMAP: Added multi-GPU KNN graph building documentation (#7019) @jinsolp
  • TSNE: Fixed FFT TSNE documentation (#6967) @jinsolp
  • Limitations: Revamped cuml.accel limitations documentation (#6965) @jcrist

Developer Documentation

  • Python Developer Guide: Comprehensive updates (#6843) @csadorf
  • CI Workflow: Added documentation for workflow inputs (#6952) @jameslamb
  • Async Operations: Removed outdated async operation section (#6980) @csadorf

🔄 Migration Guide

For Users

  1. UMAP: Remove data_on_host parameter from your code
  2. HDBSCAN: Update to use new prediction function signatures
  3. SGD: Replace penalty='none' with appropriate alternatives
  4. KMeans: Be aware that random_state=None is now the default

For Developers

  1. CUDA 11: Update your development environment to CUDA 12.9
  2. FIL: Update imports from experimental.fil to fil
  3. Dependencies: Update to supported versions as documented

📊 Summary

This release brings significant improvements to cuML's performance, stability, and developer experience. The highlight is the new Spectral Embedding algorithm, along with major architectural improvements to HDBSCAN and UMAP. The Zero Code Change Acceleration feature continues to expand with new algorithms and better tooling.

The breaking changes are primarily focused on cleaning up deprecated APIs and improving the overall codebase structure. Users are encouraged to review the migration guide and update their code accordingly.

🔧 Internal & Technical Changes

Architecture Improvements

  • HDBSCAN Migration: Migrated to cuVS cluster primitives from raft::cluster for better performance (#6560) @tarang-jain
  • Module Porting: Ported cuml.neighbors, cuml.ensemble, and UMAP to InteropMixin/ProxyBase (#6851, #6863, #6840) @jcrist
  • Base Class Cleanup: Removed deprecated base classes and functions (#6919, #6888) @jcrist
  • Cython Optimization: De-Cythonized several modules for better maintainability (#6920) @jcrist

Performance Optimizations

Infrastructure & CI/CD

Code Quality

  • Shell Scripts: Fixed all shellcheck warnings and errors (#6901) @gforsyth
  • Linting: Updated cython-lint and fixed long lines (#6969) @jcrist
  • Documentation: Comprehensive updates to developer guides (#6843) @csadorf

For detailed information about specific changes, please refer to the individual pull requests linked in each entry.

v25.06.00

06 Jun 12:44
v25.06.00
eb0a262
Compare
Choose a tag to compare

🚨 Breaking Changes

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements

v25.04.00

09 Apr 21:28
4307c22
Compare
Choose a tag to compare

🚨 Breaking Changes

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements

v25.02.01

03 Mar 21:13
v25.02.01
23773cd
Compare
Choose a tag to compare

🚨 Breaking Changes

🐛 Bug Fixes

  • Remove straggling click option (#6381) @dantegd
  • Fix dask logistic regression segfault/hang due to wrongly typed variable (#6281) @dantegd
  • Log UMAP arrays at trace verbosity level. (#6274) @csadorf
  • Ensure all method signatures are sklearn compatible (#6260) @jcrist
  • Fix UMAP transform illegal memory access error when data_on_host=True (#6259) @csadorf
  • Ignore cudf's dataframe deprecation. (#6229) @bdice
  • Fix for porter stemmer for cuDF change and ARIMA pytest adjustments (#6227) @dantegd
  • Avoid duplicate log entries (#6222) @jcrist
  • Further fixes for Scipy 1.15 update for PR and nightly CI (#6213) @dantegd
  • Update setulb call from Scipy for updated signature of 1.15 (#6207) @dantegd
  • Adjust test_kmeans to avoid false positive failures (#6193) @dantegd
  • Adjust margin of logistic regression log_proba pytest to avoid false positive failures (#6188) @dantegd
  • Skip flaky test of kernel_density in nightly job of CUDA 12.0.1 (#6184) @dantegd
  • Try to reduce network usage in cuML tests. (#6174) @bdice
  • cuML dask fixes to unblock CI (#6170) @dantegd
  • Remap BATCH_TREE_REORG to TREE_REORG in FIL (#6161) @wphicks

📖 Documentation

🚀 New Features

🛠️ Improvements

v24.12.00

11 Dec 21:41
v24.12.00
e79cd67
Compare
Choose a tag to compare

🚨 Breaking Changes

🐛 Bug Fixes

🚀 New Features

🛠️ Improvements

v24.10.00

09 Oct 20:29
v24.10.00
ba7e3ab
Compare
Choose a tag to compare

🚨 Breaking Changes

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements

v24.08.00

08 Aug 02:09
v24.08.00
b17f2db
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fixes for encoders/transformers for cudf.pandas (#5990) @dantegd
  • BUG: remove sample parameter from pca call to mean (#5980) @mfoerste4
  • Fix segfault and other errors in ForestInference.load_from_sklearn (#5973) @hcho3
  • Rename .devcontainers for CUDA 12.5 (#5967) @jakirkham
  • [MNT] Small NumPy 2 related fixes (#5954) @seberg
  • CI Fix: use ld_preload to avoid libgomp issue on ARM jobs (#5949) @dantegd
  • Fix for benchmark runner to handle parameter sweeps of multiple data types (#5938) @dantegd
  • Avoid extra memory copy when using cp.concatenate in cuml.dask kmeans (#5937) @dantegd
  • Assign correct labels_ in cuml.dask.kmeans (#5931) @dantegd
  • Fix nightly jobs by updating hypothesis strategies to account for sklearn change (#5925) @dantegd
  • Fix for SVC fit_proba not using class weights (#5912) @pablotanner
  • Fix cudf.pandas failure on test_convert_input_dtype (#5885) @dantegd
  • Fix cudf.pandas failure on test_convert_matrix_order_cuml_array (#5882) @dantegd
  • Simplify cuml array (#5166) @wence-

🚀 New Features

🛠️ Improvements

v24.06.01

12 Jun 17:18
v24.06.01
bbd19ab
Compare
Choose a tag to compare

🐛 Bug Fixes

📖 Documentation

🚀 New Features

🛠️ Improvements