Releases: rapidsai/cuml
Releases · rapidsai/cuml
v25.06.00
🚨 Breaking Changes
- Deprecate device selection (#6784) @jcrist
- Remove use of legacy FIL from Python cuML (#6728) @hcho3
- Use RBC from cuVS (#6644) @divyegala
- Map Barnes-Hut to FFT for T-SNE in cuml.accel. (#6619) @csadorf
- New Estimator Proxy architecture (#6613) @jcrist
- Disable building and uploading cuml-cpu in CI (#6529) @dantegd
- FIX Propagate random state to numpy rng in
make_classification
(#6518) @betatim
🐛 Bug Fixes
- UMAP batch nnd test hotfix (#6826) @jinsolp
- Update forest_inference_demo.ipynb for new FIL API changes (#6824) @dantegd
- Fix to compile FIL
infer_kernel
with CUDA arch 1210 (#6821) @viclafargue - Reduce solver test threshold for ElasticNet test. (#6766) @csadorf
- Use _assert_allclose function for approximate equality check. (#6763) @csadorf
- UMAP spectral initialization fallback to random on error (#6750) @aamijar
- [Fix]
include_self=False
for duplicate points (tied zero distances) in kneighbors_graph (#6735) @aamijar - FIX: Set scikit-learn KMeans n_init=10 to match cuML (#6727) @csadorf
- Fix output dtype of
LinearSVC.predict
(#6715) @jcrist - CUDA 12.9 Correctly bound updated compression flags (#6713) @robertmaynard
- Fix type and support for
PCA.noise_variance_
(#6693) @jcrist - Update dask RF regressor partial_inference (#6691) @TomAugspurger
- Properly handle degenerate trees in FIL (#6673) @hcho3
- Fix strict marker in scikit-learn test xfail list. (#6661) @csadorf
- DOC Repair docstring formatting (#6659) @betatim
- Fix the field ids in the pr/issue status automation (#6656) @csadorf
- Adjust scikit-learn test failure handling (#6646) @csadorf
- Remove arbitrary score threshold for the test_qn test with softmax (#6636) @csadorf
- Do not set
n_features_in_
attribute beforefit
(#6624) @betatim - Map Barnes-Hut to FFT for T-SNE in cuml.accel. (#6619) @csadorf
- Mark sklearn test test_cross_val_predict[coo_array] as flaky. (#6610) @csadorf
- Do not run the scikit-learn test suite in parallel. (#6609) @csadorf
- Mark one kmeans and one t_sne sklearn test as flaky (#6598) @csadorf
- Relax threshold for failing ARIMA pytest (#6579) @divyegala
- Fix race condition in
_block_gemv
kernel (#6578) @divyegala - Fix launch parameters for kernel shap (#6577) @divyegala
- Update SVC tests for CCCL update (#6569) @viclafargue
- Update FIL Model Loading Parameter in FIL demo notebook (#6562) @csadorf
- Localise output‑dtype; remove global set_api_output_dtype calls (#6561) @Ofek-Haim
- Lower logistic regression digits test threshold to 0.9. (#6552) @csadorf
- FIX Propagate random state to numpy rng in
make_classification
(#6518) @betatim - Fix cudf.DataFrame construction with dict like inputs and ensure CumlArray.to_output('cudf') does not convert NaN to NA (#6517) @mroeschke
- Calling gc in SVC tests (#6514) @viclafargue
- Fix logger macros (#6511) @vyasr
- Simplicial set functions fixes and cleanups (#6493) @viclafargue
- Inspect KNN graph during smooth KNN generation and fail if necessary (#6491) @viclafargue
- More permanently disable BATCH_TREE_REORG (#6374) @wphicks
📖 Documentation
- Move FIL docs to user docs (#6762) @dantegd
- Document
cuml.accel
doesn't supportset_output
(#6717) @jcrist - DOC Update zero-code-change documentation (#6697) @csadorf
- Document WSL2 limitation re UVM (#6663) @csadorf
- DOC Make
MultinomialNB
dask doctest more lax (#6482) @betatim - Future-proof SVC documentation (#6481) @viclafargue
- DOC Add developer documentation about deprecation policy (#6476) @betatim
🚀 New Features
- Multi-gpu KNN build for UMAP using all-neighbors API (#6654) @jinsolp
- Add caching and object size metrics to
conda
CI builds (#6573) @divyegala - Use Gram kernel from cuVS instead of Raft (#6538) @lowener
🛠️ Improvements
- Migrate cuml.experimental.fil -> cuml.fil (#6799) @hcho3
- Mark
test_uniform_grid
as flaky in sklearn tests (#6791) @jcrist - Deprecate a few missed cuml-only non-keyword-only kwargs (#6789) @jcrist
- Delay importing of dask (#6788) @jcrist
- Port
DBSCAN
toProxyBase
/InteropMixin
(#6786) @jcrist - Deprecate device selection (#6784) @jcrist
- use 'rapids-init-pip' in wheel CI, other CI changes (#6779) @jameslamb
- Support
SVC
andSVR
incuml.accel
(#6778) @jcrist - chore: reduce ceiling of
cuml
wheel size (#6771) @gforsyth - Port KMeans to use
ProxyBase
/InteropMixin
(#6770) @jcrist - Port
sklearn.manifold
wrappers to useProxyBase
(#6761) @jcrist - Fix dask warning in FIL demo notebook (#6758) @jcrist
- Remove deprecations for 25.06 (#6754) @jcrist
- Check that
as_sklearn
'ed models can be fitted (#6751) @betatim - Implement sklearn_tags on mixin using vendored compat module. (#6746) @csadorf
- Test that proxied method signatures match their CPU versions (#6740) @jcrist
- Remove upper bound constraint on xgboost. (#6739) @csadorf
- Deprecate non-keyword-only cuml-only kwargs (#6738) @jcrist
- Fix DistributedDataHandler.calculate_parts_to_sizes (#6737) @TomAugspurger
- Finish CUDA 12.9 migration and use branch-25.06 workflows (#6733) @bdice
- Remove use of legacy FIL from Python cuML (#6728) @hcho3
- Update Dask RandomForest classifier (#6726) @TomAugspurger
- Update to clang 20 (#6724) @bdice
- Use matplotlib-base in docs/notebooks environments. (#6723) @bdice
- FIX Allow prereleases when evaluating xfail conditions (#6722) @betatim
- Quote head_rev in conda recipes (#6701) @bdice
- Don't setup managed memory if rmm isn't using default settings (#6700) @jcrist
- Expand sklearn matrix used in tests (#6698) @jcrist
- Port
sklearn.decomposition
to new proxy estimator structure (#6695) @jcrist - fix(rattler): add librmm to host for libcuml to fix overlinking error (#6686) @gforsyth
- CUDA 12.9 use updated compression flags (#6684) @robertmaynard
- Increase scikit-learn compatibility to 1.5+ (#6666) @csadorf
- Revert "CI: Increase nightly CI check window to 14 days. (#6628)" (#6660) @csadorf
- Remove cuml-cpu and CPU <> GPU docs (#6651) @jcrist
- More dask==2025.4.1 compatibility (#6645) @TomAugspurger
- Use RBC from cuVS (#6644) @divyegala
- Exclude librmm.so from auditwheel (#6632) @bdice
- Enhance accelerator parity testing framework (#6629) @csadorf
- CI: Increase nightly CI check window to 14 days. (#6628) @csadorf
- Add support for Python 3.13 (#6616) @gforsyth
- Compatibility with Dask 2025.4.1 (#6614) @TomAugspurger
- New Estimator Proxy architecture (#6613) @jcrist
- Using cuVS NN Descent in UMAP (#6611) @jinsolp
- Make scikit-learn a required dependency (#6608) @betatim
- Speedup dask
LogisticRegression
tests (#6607) @jcrist - Add GitHub Actions workflow for PR and issue project field automation (#6602) @csadorf
- Use
nogil
forlibcuml
calls (#6601) @jcrist - Remove
cuml.common.cuda
(#6600) @jcrist - Remove most of
import_utils.py
(#6599) @jcrist - Remove guarded imports of
scipy
(#6596) @jcrist - Remove remainder of code branching on
cuml-cpu
support (#6593) @jcrist - Add timeout to scikit-learn test suite (#6591) @jcrist
- Remove
safe_imports.py
(#6588) @jcrist - Remove usage of
cudf.core.buffer
(#6586) @mroeschke - Split wheel tests into two jobs (#6585) @jcrist
- Only run one
cudf.pandas
enabled build per PR (#6584) @jcrist - Don't run memleak tests in CI (#6583) @jcrist
- Documentation and Testing Infrastructure Updates (#6580) @csadorf
- Move Random Forest n_streams UserWarning out of execution (#6574) @ncclementi
- Remove conditional compilation blocks leftover from
cuml-cpu
(#6572) @jcrist - Download build artifacts from Github for CI (#6566) @VenkateshJaya
- Don't exclude sklearn tests from acceleration (#6565) @jcrist
- Add .git-blame-ignore-revs (#6564) @csadorf
- Add
cuml.accel.is_proxy
(#6559) @jcrist - Update KMeans test to improve stability by setting n_init to 2 (#6553) (#6555) @csadorf
- Support
weights="distance"
forKNeighbors*
incuml.accel
(#6554) @jcrist - Improve detection of scikit-learn parity regressions (#6553) @csadorf
- Revise cuml.accel module patching and import mechanism (#6550) @jcrist
- Add isort to pre-commit hooks (#6549) @csadorf
- Refactor dataset generation and testing utilities (#6548) @csadorf
- Move
cuml.accel
tests out into own directory (#6547) @jcrist - refactor(rattler): enable strict channel priority for builds (#6546) @gforsyth
- Remove unnecessary CudfBuffer and vendor cuDF min_signed_type function (#6543) @mroeschke
- Remove
_experimental_dispatching
attribute (#6542) @jcrist - Avoid private attributes on cuDF objects (#6537) @mroeschke
- Reduce CI test combinations for scikit-learn acceleration tests (#6536) @csadorf
- Vendor RAPIDS.cmake (#6531) @bdice
- Disable building and uploading cuml-cpu in CI (#6529) @dantegd
- Remove CUDA whole compilation ODR violations (#6525) @divyegala
- SLHC to Migrate to cuVS Agglomerative from RAFT (#6507) @tarang-jain
- Solve forward merger conflicts of 6435 (#6501) @csadorf
- Add minimal import check to CI (#6484) @jcrist
- Moving wheel builds to specified location and uploading build artifacts to Github (#6472) @VenkateshJaya
[NIGHTLY] v25.08.00
🔗 Links
🚨 Breaking Changes
- Deprecating
data_on_host
parameter for UMAP (#6953) @jinsolp - Deprecate hdbscan prediction functions in
cuml.cluster
namespace (#6943) @jcrist - Reflect output type in
hdbscan
prediction functions (#6939) @jcrist - Deprecate
connectivity
parameter toHDBSCAN
(#6936) @jcrist - Deprecate
penalty='none'
inMBSGDClassifier
/MBSGDRegressor
/SGD
(#6926) @jcrist - Remove
experimental.fil
Python module (#6899) @hcho3 - Change
KMeans
random_state
default toNone
(#6884) @jcrist - Remove cuvs symbols in libcuml headers (#6883) @hcho3
- Migrate C++ files from
src/experimental/fil
tosrc/fil
(#6882) @hcho3 - Add test for signatures of common methods (#6878) @jcrist
- Port
cuml.neighbors
toInteropMixin
/ProxyBase
(#6851) @jcrist - Remove CUDA 11 from dependencies.yaml (#6847) @KyleFromNVIDIA
- Remove legacy FIL from libcuml (#6844) @hcho3
- stop uploading packages to downloads.rapids.ai (#6803) @jameslamb
🐛 Bug Fixes
- Remove CuPy version constraint (#6979) @csadorf
- Fix test_typeerror_input test with xfail for known sklearn LARS broadcasting bug (#6978) @csadorf
- Add upper constraint for cupy 13.5 due to memory access issues (#6961) @csadorf
- Decrease nightly check window to 7 days (#6934) @csadorf
- Support empty categorical nodes in FIL (#6924) @hcho3
- Rewrite
HDBSCAN
python wrapper (#6913) @jcrist - Mark test_warm_start_oob[RandomForestClassifier] as flaky (#6906) @csadorf
- Unxfail tests affected by numba compilation error on Python 3.13.4 (#6905) @csadorf
- Fix import in benchmark code in algorithms.py that was causing an error (#6902) @dantegd
- Add test for signatures of common methods (#6878) @jcrist
- Fix CI test failures: xfail tests for scikit-learn 1.7.0 and Python 3.13.4 compatibility (#6865) @csadorf
- Fix RandomForestRegressor default
max_features
(#6862) @jcrist - Increase tolerance in Dask logistic regression test (#6848) @csadorf
📖 Documentation
- Remove async operation section from Python developer docs (#6980) @csadorf
- Revamp
cuml.accel
limitations docs page (#6965) @jcrist - add docs on CI workflow inputs (#6952) @jameslamb
- Fixup rst formatting of 0cc limitations doc (#6945) @jcrist
- Documentation Updates for cuML Python Developer Guide (#6843) @csadorf
🛠️ Improvements
- Use
pytest.ini
for all upstream tests (#6994) @jcrist - Support invoking
cuml_accel_tests
without extra pytest flags (#6993) @jcrist - Fall back on unsupported metrics in TSNE (#6992) @jcrist
- Expand
LogisticRegression
limitations (#6991) @jcrist - Expand
sklearn.ensemble
limitations (#6990) @jcrist - Run
umap-learn
test suite in CI (#6989) @jcrist - Move
cuml.accel
upstream tests to thecuml_accel_tests
directory (#6986) @jcrist - Compute
components_
inDBSCAN
(#6976) @jcrist - Add the cython-lint commit to
.git-blame-ignore-revs
(#6972) @jcrist - Several SVC cleanups (#6970) @jcrist
- Update cython-lint, fix long lines (#6969) @jcrist
- Enhance logging for cuml.accel proxy estimators (#6957) @csadorf
- Add a reason to all
UnsupportedOnGPU
/UnsupportedOnCPU
errors (#6954) @jcrist - Deprecating
data_on_host
parameter for UMAP (#6953) @jinsolp - Implement metadata routing in
cuml.accel
(#6950) @jcrist - xfail some tests due to new scipy 1.16 release (#6946) @jcrist
- Use CUDA 12.9 in Conda, Devcontainers, Spark, GHA, etc. (#6944) @jakirkham
- Deprecate hdbscan prediction functions in
cuml.cluster
namespace (#6943) @jcrist - Support
set_output
andget_feature_names_out
incuml.accel
(#6942) @jcrist - Reflect output type in
hdbscan
prediction functions (#6939) @jcrist - Remove
Base.__getattr__
/Base.__getstate__
/Base.__setstate__
(#6937) @jcrist - Deprecate
connectivity
parameter toHDBSCAN
(#6936) @jcrist - Remove nvidia and dask channels (#6935) @vyasr
- Fixup KernelRidge hypothesis test (#6931) @jcrist
- A few fixes for CI (#6928) @jcrist
- Deprecate
penalty='none'
inMBSGDClassifier
/MBSGDRegressor
/SGD
(#6926) @jcrist - Run FIL demo notebook in CI (#6923) @hcho3
- Restore old behavior for
threshold
in FIL (#6922) @hcho3 - De-Cython several modules (#6920) @jcrist
- Remove
UniversalBase
(#6919) @jcrist - Add
KernelRidge
tocuml.accel
(#6917) @jcrist - Port
HDBSCAN
toInteropMixin
/ProxyBase
(#6916) @jcrist - Expose
n_iter_
forLogisticRegression
models (#6911) @betatim - Warn and fail on stale xfail list entries (#6907) @csadorf
- refactor(shellcheck): fix all shellcheck warnings/errors (#6901) @gforsyth
- Instantiate only specific RAFT linewise kernels (#6900) @aamijar
- Remove
experimental.fil
Python module (#6899) @hcho3 - Remove
GlobalSettings.device_type
(#6895) @jcrist - Add xfail list auto-formatter (#6892) @csadorf
- Remove deprecated device selection functions (#6888) @jcrist
- Remove deprecations for 25.08 (#6887) @jcrist
- Change
KMeans
random_state
default toNone
(#6884) @jcrist - Remove cuvs symbols in libcuml headers (#6883) @hcho3
- Migrate C++ files from
src/experimental/fil
tosrc/fil
(#6882) @hcho3 - Remove invalid xfail entry and mark correct test as flaky (#6877) @csadorf
- A few
max_features
fixups forcuml.ensemble
(#6873) @jcrist - Loosen constrain on numpy upper version (#6871) @csadorf
- Correct
sys.argv
when runningcuml.accel
(#6870) @jcrist - Port
cuml.ensemble
toInteropMixin
/ProxyBase
(#6863) @jcrist - Deprecate some
cuml.accel
CLI options (#6855) @jcrist - Remove deprecated args in
cuml.ensemble
(#6854) @jcrist - Move deprecated positional/keyword args to keyword-only (#6853) @jcrist
- Support
-c
and-
options incuml.accel
CLI (#6852) @jcrist - Port
cuml.neighbors
toInteropMixin
/ProxyBase
(#6851) @jcrist - Remove CUDA 11 from dependencies.yaml (#6847) @KyleFromNVIDIA
- Add support for scikit-learn version 1.4 (#6845) @betatim
- Remove legacy FIL from libcuml (#6844) @hcho3
- Port UMAP to InteropMixin/ProxyBase (#6840) @jcrist
- Move FIL to subclass from Base (#6835) @jcrist
- Mark
test_equivalence_components_pca_spca
as flaky (#6834) @jcrist - Fix several bugs in
cuml.accel
CLI (#6832) @jcrist - stop uploading packages to downloads.rapids.ai (pt 2) (#6828) @jameslamb
- Remove CUDA 11 devcontainers and update CI scripts (#6818) @bdice
- refactor(rattler): remove cuda11 options and general cleanup (#6817) @gforsyth
- Add GitHub Actions workflow to assign PRs to their authors (#6816) @csadorf
- stop uploading packages to downloads.rapids.ai (#6803) @jameslamb
- Instantiate only specific RAFT reduction kernels (#6780) @divyegala
- Forward-merge branch-25.06 into branch-25.08 (#6647) @gforsyth
- [FEA] HDBSCAN to Migrate to cuVS cluster prims from raft::cluster (#6560) @tarang-jain
v25.04.00
🚨 Breaking Changes
- Promote experimental FIL to stable (#6464) @wphicks
- Support non-trivial
classes_
inLogisticRegression
(#6346) @jcrist - Use new rapids-logger library (#6289) @vyasr
🐛 Bug Fixes
- Unblock CI for 25.04 (#6519) @csadorf
- Skip test_rf_classification_seed for cudf.pandas tests. (#6500) @csadorf
- Remove dask to sparse workarounds (#6489) @TomAugspurger
- Fix accidental required sklearn import (#6483) @jcrist
- FIX Pass instances to the constructor of the meta-estimator in
SVC
(#6471) @betatim - Fix compiler dependency on ARM (#6456) @bdice
- Revert "Temporarily increase
max_days_without_success
(#6390)" (#6455) @divyegala - Enhance argument handling in UniversalBase to accept NoneType (#6453) @csadorf
- Fix UMAP transform (#6449) @viclafargue
- Fallback to CPU for sparse inputs for KMeans (#6448) @csadorf
- Limited support for array-like inputs (#6442) @csadorf
- Fix
test_accuracy_score
test oncudf.pandas
build (#6439) @jcrist - Support positional args in
cuml.accel
estimators (#6423) @jcrist - Fix HDBSCAN python docs related to
metric
(#6422) @divyegala - declare runtime dependency on 'packaging', update scikit-learn and hdbscan for cuml-cpu to match cuml (#6420) @jameslamb
- Fix forwarding of
initial_alpha
andlearning_rate
in UMAP (#6417) @jcrist - Implement Ridge .solver_ estimated attribute (#6415) @csadorf
- Fix multi-target prediction in linear models (#6414) @csadorf
- Ensure
output_type="pandas"
returns user-facing pandas (#6407) @jcrist - Ensure
LinearSVC
supports all input types (#6404) @jcrist - Make UMAP callback pickleable (#6402) @jcrist
- Correctly align trees in experimental FIL (#6397) @wphicks
- A few log level handling cleanups (#6393) @jcrist
- Fix cupy error in
KernelDensity
withepanechnikov
(#6388) @jcrist - Check if both ground truth and result are NaN in MSEObjectiveTest for RF (#6387) @wphicks
- Support non-native endian inputs to
LabelEncoder
(#6384) @jcrist - Fix hypothesis test in
test_kernel_ridge.py
(#6382) @jcrist - Remove debug logging from nearest neighbors test (#6376) @csadorf
- Ensure FIL CPU can be run without an available GPU (#6373) @wphicks
- Correctly pass through unhashable objects during hyperparam lookup (#6369) @wphicks
- Correct translation of RandomForest criterion hyperparameter (#6363) @wphicks
- UMAP fallback improvements (#6358) @viclafargue
- A few GPU<->CPU interop fixes (#6355) @jcrist
- Fix output type of
KernelRidge.predict
(#6354) @jcrist - Skip test_extract_partitions_shape test. (#6338) @csadorf
- Require sphinx<8.2.0 (#6336) @csadorf
- Fix call to NearestNeighbors.kneighbors() without args. (#6333) @csadorf
- Commenting out debug print statements in UMAP (#6332) @viclafargue
- Correct UMAP dispatch trigger condition (#6330) @viclafargue
- Fix issue caused by None arg provided by sklearn pipeline (#6326) @viclafargue
- Improvements for interoperability of Random Forest (#6320) @dantegd
- Improvements for PCA CPU interoperability (#6319) @dantegd
- Plumb
metric
andmetric_kwds
through to UMAP withnn_descent
(#6304) @jcrist - Use
L2Expanded
/L2SqrtExpanded
instead of the*Unexpanded
variants (#6303) @jcrist - Fix UMAP issues with large inputs (#6245) @viclafargue
- Fix
LogisticRegression.decision_function
output shape (#6235) @jcrist - Compute
noise_variance_
in PCA implementation (#6234) @jcrist - Multiple CPU interop fixes for serialization and cloning (#6223) @dantegd
📖 Documentation
- Clarify support in docs (#6452) @bdice
- Provide docs for cuml.accel command line feature (#6322) @wphicks
🚀 New Features
- Promote experimental FIL to stable (#6464) @wphicks
- UMAP 32bits dispatch mechanism (#6314) @viclafargue
- Add aarch64 conda environments (#6226) @jcrist
- SVM cpu/gpu interop (#6089) @viclafargue
🛠️ Improvements
- Don't use private APIs in FIL notebook (#6488) @jcrist
- Only use released versions of dask (#6485) @jcrist
- Move SVM working set log to debug (#6477) @jcrist
- C++
SG_RF_TEST
OOMs in 11.4 nightly (#6474) @divyegala - Revert "ci: pre-filter 11.4 jobs before they are enabled in shared workflows (#6447)" (#6470) @divyegala
- Support
__len__
in ensemble estimators (#6468) @jcrist - Add deprecation warning to
cuml-cpu
builds (#6466) @jcrist - Fix template argument of
DeviceSegmentedReduce
kernels (#6459) @miscco - Add scikit-learn acceleration tests to nightly CI tests (#6457) @csadorf
- Fix benchmark builds in devcontainers (#6450) @bdice
- ci: pre-filter 11.4 jobs before they are enabled in shared workflows (#6447) @gforsyth
- Reenable more UMAP tests on ARM (#6446) @jcrist
- Clean up after removing KMeans deprecation warning (#6445) @betatim
- Port all conda recipes to
rattler-build
(#6440) @gforsyth - Remove the deprecation warning and switch to new default (#6433) @betatim
- Remove old deprecations (#6427) @jcrist
- Fix oob_score=True handling with accelerator (#6425) @betatim
- remove unused imports (#6424) @jameslamb
- Disable codecov comments (#6419) @jcrist
- Require hypothesis tests have explicit examples (#6409) @aamijar
- Improve
accuracy_score
compatibility withsklearn
. (#6406) @jcrist - Drop
cub{Min, Max}
(#6405) @miscco - Move
accel
implementation fully tocuml.accel
(#6401) @jcrist - cuml-cpu: fix import issues, enable conda import tests (#6400) @jameslamb
- Drop
numba_utils
(#6396) @jakirkham - Simplify
cpu_to_gpu
andgpu_to_cpu
(#6395) @jcrist - Adds get_level() (#6392) @Intron7
- Temporarily increase
max_days_without_success
(#6390) @jcrist - Drop deprecated CCCL functors (#6389) @miscco
- Solve forward merger conflicts of #6313 (#6385) @dantegd
- CI: Run extended accel mode tests (#6377) @csadorf
- Use conda-build instead of conda-mambabuild (#6368) @bdice
- Don't log coverage output to terminal in CI (#6367) @jcrist
- Remove
KernelRidge
fromcuml.accel
(#6361) @jcrist - Enable UVM in cuml.accel (#6359) @wphicks
- Drop deprecated
CUB
iterators in favor ofThrust
iterators (#6356) @miscco - Adjust accel verbosity (#6353) @csadorf
- Avoid importing
umap
withimport cuml
(#6352) @jcrist - Make proxy module patching skip patching if patched library is not installed (#6348) @dantegd
- Add new
cuml.accel
module (#6347) @jcrist - Support non-trivial
classes_
inLogisticRegression
(#6346) @jcrist - Make
r2_score
compatible with Scikit-Learn (#6337) @jcrist - Remove left-over code related to strict mode. (#6335) @csadorf
- Make sure specifying default value or nothing behaves the same in
KMeans
(#6331) @betatim - Make KernelRidge inherit from UniversalBase (#6327) @betatim
- Reduce peak memory in
UMAP.fit
/UMAP.fit_transform
(#6323) @jcrist - Consolidate more Conda solves in CI (#6321) @KyleFromNVIDIA
- Require CMake 3.30.4 (#6318) @robertmaynard
- Copy attributes from the original class to the proxy (#6306) @betatim
- Use shared-workflows branch-25.04 (#6298) @bdice
- Add build_type input field for
test.yaml
(#6296) @gforsyth - Do not use
LEGACY_PTX_ARCH
argument forBlockReduce
(#6290) @miscco - Use new rapids-logger library (#6289) @vyasr
- disallow fallback to Make in wheel builds (#6286) @jameslamb
- Forward-merge branch-25.02 to branch-25.04 (#6283) @bdice
- Migrate to NVKS for amd64 CI runners (#6280) @bdice
- Add
verify-codeowners
hook (#6275) @KyleFromNVIDIA - Speed up FIL and TSNE pytests in CI (#6270) @dantegd
- Bracnh 25.04 merge branch 25.02 (#6268) @vyasr
- Add shellcheck to pre-commit and fix warnings (#6246) @gforsyth
- Prepare for n_init=auto in KMeans (#6142) @betatim
v25.02.01
🚨 Breaking Changes
- update pip devcontainers to UCX 1.18 (#6249) @jameslamb
🐛 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
- Fixes github link from pyx files (#6202) @thomasjpfan
🚀 New Features
- Allow CUDA ODR violations in 25.02 (#6264) @robertmaynard
- Define block size for sm_120 (#6250) @robertmaynard
- Support
alpha=0
inRidge
(#6236) @jcrist - Add
as_sklearn
andfrom_sklearn
APIs to serialize to CPU sklearn-estimators for supported models (#6102) @dantegd
🛠️ Improvements
- Backport release 25.04 PRs for patch release version 25.02.01 (#6329) @dantegd
- Use
rapids-pip-retry
in CI jobs that might need retries (#6293) @gforsyth - Avoid large device allocation in UMAP with nndescent (#6292) @jcrist
- Revert CUDA 12.8 shared workflow branch changes (#6282) @vyasr
- Build and test with CUDA 12.8.0 (#6266) @bdice
- update pip devcontainers to UCX 1.18 (#6249) @jameslamb
- Drop deprecated thrust features and replace with libcu++ ones (#6248) @miscco
- Add upper bound to prevent usage of numba 0.61.0 (#6244) @galipremsagar
- Normalize whitespace (#6238) @bdice
- Rename cpp/test to cpp/tests. (#6237) @bdice
- Use cuda.bindings layout. (#6233) @bdice
- Skip dispatching to GPU for unimplemented metrics in UMAP (#6224) @betatim
- Use GCC 13 in CUDA 12 conda builds. (#6221) @bdice
- declare cuda-python dependency for wheels, other small packaging changes (#6217) @jameslamb
- Bump Treelite to 4.4.1 (#6212) @hcho3
- Support raft's logger targets (#6208) @vyasr
- Use rapids-cmake for the logger (#6205) @vyasr
- consolidate pytest config in pyproject.toml (#6201) @jameslamb
- introduce libcuml wheels (#6199) @jameslamb
- Check if nightlies have succeeded recently enough (#6196) @vyasr
- Remove sphinx pinning (#6195) @vyasr
- simplify wheel CI scripts, other small packaging changes (#6190) @jameslamb
- Update for raft logger changes (#6187) @vyasr
- update telemetry actions to fluent-bit friendly style (#6186) @msarahan
- HDBSCAN and KMeans API improvements for improving CPU interoperability (#6181) @dantegd
- CPU/GPU interop with RandomForest (#6175) @hcho3
- Update version references in workflow (#6172) @AyodeAwe
- gate telemetry dispatch calls on TELEMETRY_ENABLED env var (#6171) @msarahan
- Use rapids-logger to generate the cuml logger (#6162) @vyasr
- Use estimator tags to improve sparse error handling (#6151) @dantegd
- FEA Add support for accepting a Numpy RandomState (#6150) @betatim
- prefer system install of UCX in pip devcontainers, update outdated RAPIDS references (#6149) @jameslamb
- Improve infrastructure for experimental dispatching of non existing methods in cuML (#6148) @dantegd
- Adapt to rmm logger changes (#6147) @vyasr
- Require approval to run CI on draft PRs (#6145) @bdice
- Add breaking change workflow trigger (#6130) @AyodeAwe
- Switch to native traceback in
cuml
(#6078) @galipremsagar
v24.12.00
🚨 Breaking Changes
- Forward merge Branch 24.10 into 24.12 (#6106) @divyegala
🐛 Bug Fixes
- Fix SSL error. (#6177) @bdice
- Fix
scikit-learn
version specifier (#6158) @trxcllnt - Correctly handle missing categorical data in experimental FIL (#6132) @wphicks
- Put a ceiling on cuda-python (#6131) @bdice
- Don't presume pointers are mutually exclusive for device/host. (#6128) @robertmaynard
- cuml SINGLEGPU now tells cuvs to not build with nccl/mg support (#6127) @robertmaynard
- Remove type from pickle header for CumlArray (#6120) @wphicks
- Forward merge Branch 24.10 into 24.12 (#6106) @divyegala
- Fix Dask estimators serialization prior to training (#6065) @viclafargue
🚀 New Features
- Enable HDBSCAN
gpu
training andcpu
inference (#6108) @divyegala
🛠️ Improvements
- Update FIL tests to use XGBoost UBJSON instead of binary (#6153) @hcho3
- Use sparse knn / distances from cuvs (#6143) @benfred
- Ensure MG to have the same number of allreduce calls in mean_stddev for sparse matrix to avoid hanging (#6141) @lijinf2
- Stop excluding cutlass from symbol exclusion check (#6140) @vyasr
- Optimize MG variance calculation for dataset standardization for logistic regression (#6138) @lijinf2
- enforce wheel size limits, README formatting in CI (#6136) @jameslamb
- Experimental command line interface UX (#6135) @dantegd
- add telemetry (#6126) @msarahan
- Make cuVS optional if CUML_ALGORITHMS is set (#6125) @hcho3
- devcontainer: replace
VAULT_HOST
withAWS_ROLE_ARN
(#6118) @jjacobelli - print sccache stats in builds (#6111) @jameslamb
- fix version in Doxygen docs (#6104) @jameslamb
- make conda installs in CI stricter (#6103) @jameslamb
- Make
get_param_names
a class method on single GPU estimators to match Scikit-learn closer (#6101) @dantegd - Prune workflows based on changed files (#6094) @KyleFromNVIDIA
- Update all rmm imports to use pylibrmm/librmm (#6084) @Matt711
- Merge branch 24.10 into branch 24.12 (#6083) @jameslamb
v24.10.00
🚨 Breaking Changes
🐛 Bug Fixes
- Fix train_test_split for string columns (#6088) @dantegd
- Stop shadowing free function (#6076) @vyasr
- Set default values for conftest options. (#6067) @bdice
- Add license file to conda packages (#6061) @raydouglass
- Fix np.NAN to np.nan. (#6056) @bdice
- Reenable
pytest cuml-dask
for CUDA 12.5 wheel CI tests (#6051) @divyegala - Fix for
simplicial_set_embedding
(#6043) @viclafargue - MAINT: Allow for error message to contain
np.float32(1.0)
(#6030) @seberg - Stop exporting fill_k kernel as that causes ODR violations (#6021) @robertmaynard
- Avoid cudf column APIs after cudf.Series disallows column inputs (#6019) @mroeschke
- Use HDBSCAN package pin to
0.8.38
(#5906) @divyegala
📖 Documentation
- Update UMAP doc (#6064) @viclafargue
- Update README in experimental FIL (#6052) @hcho3
- add docs for simplicial_set (#6042) @Intron7
🚀 New Features
- TSNE CPU/GPU Interop (#6063) @divyegala
- Enable GPU
fit
and CPUtransform
in UMAP (#6032) @divyegala
🛠️ Improvements
- Migrate to use cuVS for vector search (#6085) @benfred
- Support all-zeroes feature vectors for MG sparse logistic regression (#6082) @lijinf2
- Update update-version.sh to use packaging lib (#6081) @AyodeAwe
- Use CI workflow branch 'branch-24.10' again (#6072) @jameslamb
- Update fmt (to 11.0.2) and spdlog (to 1.14.1), add those libraries to libcuml conda host dependencies (#6071) @jameslamb
- Update flake8 to 7.1.1. (#6070) @bdice
- Add support for Python 3.12, update to umap-learn==0.5.6 (#6060) @jameslamb
- Fix compiler warning about signed vs unsigned ints (#6053) @hcho3
- Update rapidsai/pre-commit-hooks (#6048) @KyleFromNVIDIA
- Drop Python 3.9 support (#6040) @jameslamb
- Add use_cuda_wheels matrix entry (#6038) @KyleFromNVIDIA
- Switch debug build to RelWithDebInfo (#6033) @rongou
- Remove NumPy <2 pin (#6031) @seberg
- Remove old dask-glm based logistic regression (#6028) @dantegd
- [FEA] UMAP API for building with batched NN Descent (#6022) @jinsolp
- Enabling CPU/GPU interop for SVM, DBSCAN and KMeans (#6020) @viclafargue
- Update pre-commit hooks (#6016) @KyleFromNVIDIA
- Improve update-version.sh (#6014) @bdice
- Use tool.scikit-build.cmake.version, set scikit-build-core minimum-version (#6012) @jameslamb
- Merge branch-24.08 into branch-24.10 (#5981) @jameslamb
- Use CUDA math wheels (#5966) @KyleFromNVIDIA
v24.08.00
🐛 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
.devcontainer
s 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_
incuml.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 ontest_convert_input_dtype
(#5885) @dantegd - Fix
cudf.pandas
failure ontest_convert_matrix_order_cuml_array
(#5882) @dantegd - Simplify cuml array (#5166) @wence-
🚀 New Features
- [FEA] Enable UMAP to build knn graph using NN Descent (#5910) @jinsolp
- Allow estimators to accept any dtype (#5888) @dantegd
🛠️ Improvements
- Add support for XGBoost UBJSON in FIL (#6009) @hcho3
- split up CUDA-suffixed dependencies in dependencies.yaml (#5974) @jameslamb
- Use workflow branch 24.08 again (#5970) @KyleFromNVIDIA
- Bump Treelite to 4.3.0 (#5968) @hcho3
- reduce memory_footprint for sparse PCA transform (#5964) @Intron7
- Build and test with CUDA 12.5.1 (#5963) @KyleFromNVIDIA
- Support int64 index type in MG sparse LogisticRegression (#5962) @lijinf2
- Add CUDA_STATIC_MATH_LIBRARIES (#5959) @KyleFromNVIDIA
- skip CMake 3.30.0 (#5956) @jameslamb
- Make
ci/run_cuml_dask_pytests.sh
environment-agnostic again (#5950) @trxcllnt - Use verify-alpha-spec hook (#5948) @KyleFromNVIDIA
- nest cuml one level deeper in python (#5944) @msarahan
- resolve dependency-file-generator warning, other rapids-build-backend followup (#5928) @jameslamb
- Adopt CI/packaging codeowners (#5923) @bdice
- Remove text builds of documentation (#5921) @vyasr
- Fix conflict of forward-merge #5905 of branch-24.06 into branch-24.08 (#5911) @dantegd
- Bump Treelite to 4.2.1 (#5908) @hcho3
- remove unnecessary 'setuptools' dependency (#5901) @jameslamb
- [FEA] PCA Initialization for TSNE (#5897) @aamijar
- Use rapids-build-backend (#5804) @KyleFromNVIDIA
v24.06.01
🐛 Bug Fixes
- [HOTFIX] Fix import of sklearn by using cpu_only_import (#5914) @dantegd
- Fix label binarize for binary class (#5900) @jinsolp
- Fix RandomForestClassifier return type (#5896) @jinsolp
- Fix nightly CI: remove deprecated creation of columns by using explicit dtype (#5880) @dantegd
- Fix DBSCAN allocates rbc index even if deactivated (#5859) @mfoerste4
- Remove gtest from dependencies.yaml (#5854) @robertmaynard
- Support expression-based Dask Dataframe API (#5835) @rjzamora
- Mark all kernels with internal linkage (#5764) @robertmaynard
- Fix build.sh clean command (#5730) @csadorf
📖 Documentation
- Update the developer's guide with new copyright hook (#5848) @KyleFromNVIDIA
🚀 New Features
- Always use a static gtest and gbench (#5847) @robertmaynard
🛠️ Improvements
- [HOTFIX] Add compatibility of imports with multiple Scikit-learn versions (#5922) @dantegd
- Support double precision in MNMG Logistic Regression (#5898) @lijinf2
- Reduce and rename cudf.pandas integrations jobs (#5890) @dantegd
- Fix building cuml with CCCL main (#5886) @trxcllnt
- Add optional CI job for integration tests with cudf.pandas (#5881) @dantegd
- Enable pytest failures on FutureWarnings/DeprecationWarnings (#5877) @mroeschke
- Remove return in test_lbfgs (#5875) @mroeschke
- Avoid dask_cudf.core imports (#5874) @bdice
- Support CPU object for
train_test_split
(#5873) @isVoid - Only use functions in the limited API (#5871) @vyasr
- Replace deprecated disutils.version with packaging.version (#5868) @mroeschke
- Adjust deprecated cupy.sparse usage (#5867) @mroeschke
- Fix numpy 2.0 deprecations (#5866) @mroeschke
- Fix deprecated positional arg usage (#5865) @mroeschke
- Use int instead of float in random.randint (#5864) @mroeschke
- Migrate to
{{ stdlib("c") }}
(#5863) @hcho3 - Avoid deprecated API in notebook (#5862) @rjzamora
- Add dedicated handling for cudf.pandas wrapped Numpy arrays (#5861) @betatim
- Prepend devcontainer name with the username (#5860) @trxcllnt
- add --rm and --name to devcontainer run args (#5857) @trxcllnt
- Update pip devcontainers to UCX v1.15.0 (#5856) @trxcllnt
- Replace rmm::mr::device_memory_resource* with rmm::device_async_resource_ref (#5853) @harrism
- Update scikit-learn to 1.4 (#5851) @betatim
- Prevent undefined behavior when passing handle from Treelite to cuML FIL (#5849) @hcho3
- Adds missing files to
update-version.sh
(#5830) @AyodeAwe - Enable all tests for
arm
arch (#5824) @galipremsagar - Address PytestReturnNotNoneWarning in cuml tests (#5819) @mroeschke
- Handle binary classifier with all-0 labels (#5810) @hcho3
- Use pytest_cases.fixture to fix warnings. (#5798) @bdice
- Enable Dask tests with UCX-Py/UCXX in CI (#5697) @pentschev
v24.06.00
🐛 Bug Fixes
- [HOTFIX] Fix import of sklearn by using cpu_only_import (#5914) @dantegd
- Fix label binarize for binary class (#5900) @jinsolp
- Fix RandomForestClassifier return type (#5896) @jinsolp
- Fix nightly CI: remove deprecated creation of columns by using explicit dtype (#5880) @dantegd
- Fix DBSCAN allocates rbc index even if deactivated (#5859) @mfoerste4
- Remove gtest from dependencies.yaml (#5854) @robertmaynard
- Support expression-based Dask Dataframe API (#5835) @rjzamora
- Mark all kernels with internal linkage (#5764) @robertmaynard
- Fix build.sh clean command (#5730) @csadorf
📖 Documentation
- Update the developer's guide with new copyright hook (#5848) @KyleFromNVIDIA
🚀 New Features
- Always use a static gtest and gbench (#5847) @robertmaynard
🛠️ Improvements
- Support double precision in MNMG Logistic Regression (#5898) @lijinf2
- Reduce and rename cudf.pandas integrations jobs (#5890) @dantegd
- Fix building cuml with CCCL main (#5886) @trxcllnt
- Add optional CI job for integration tests with cudf.pandas (#5881) @dantegd
- Enable pytest failures on FutureWarnings/DeprecationWarnings (#5877) @mroeschke
- Remove return in test_lbfgs (#5875) @mroeschke
- Avoid dask_cudf.core imports (#5874) @bdice
- Support CPU object for
train_test_split
(#5873) @isVoid - Only use functions in the limited API (#5871) @vyasr
- Replace deprecated disutils.version with packaging.version (#5868) @mroeschke
- Adjust deprecated cupy.sparse usage (#5867) @mroeschke
- Fix numpy 2.0 deprecations (#5866) @mroeschke
- Fix deprecated positional arg usage (#5865) @mroeschke
- Use int instead of float in random.randint (#5864) @mroeschke
- Migrate to
{{ stdlib("c") }}
(#5863) @hcho3 - Avoid deprecated API in notebook (#5862) @rjzamora
- Add dedicated handling for cudf.pandas wrapped Numpy arrays (#5861) @betatim
- Prepend devcontainer name with the username (#5860) @trxcllnt
- add --rm and --name to devcontainer run args (#5857) @trxcllnt
- Update pip devcontainers to UCX v1.15.0 (#5856) @trxcllnt
- Replace rmm::mr::device_memory_resource* with rmm::device_async_resource_ref (#5853) @harrism
- Update scikit-learn to 1.4 (#5851) @betatim
- Prevent undefined behavior when passing handle from Treelite to cuML FIL (#5849) @hcho3
- Adds missing files to
update-version.sh
(#5830) @AyodeAwe - Enable all tests for
arm
arch (#5824) @galipremsagar - Address PytestReturnNotNoneWarning in cuml tests (#5819) @mroeschke
- Handle binary classifier with all-0 labels (#5810) @hcho3
- Use pytest_cases.fixture to fix warnings. (#5798) @bdice
- Enable Dask tests with UCX-Py/UCXX in CI (#5697) @pentschev
v24.04.00
🐛 Bug Fixes
- Update pre-commit-hooks to v0.0.3 (#5816) @KyleFromNVIDIA
- Correct and adjust tolerances of mnmg logreg pytests (#5812) @dantegd
- Remove use of cudf.core.column.full. (#5794) @bdice
- Suppress all HealthChecks on test_split_datasets. (#5791) @bdice
- Suppress a hypothesis HealthCheck on test_split_datasets that fails in nightly CI. (#5790) @bdice
- [BUG] Fix
MAX_THREADS_PER_SM
on sm 89. (#5785) @trivialfis - fix device to host copy not sync stream in logistic regression mg (#5766) @lijinf2
- Use cudf.Index instead of cudf.GenericIndex. (#5738) @bdice
- update RAPIDS dependencies to 24.4, refactor dependencies.yaml (#5726) @jameslamb
🚀 New Features
- Support CUDA 12.2 (#5711) @jameslamb
🛠️ Improvements
- Use
conda env create --yes
instead of--force
(#5822) @bdice - Bump Treelite to 4.1.2 (#5814) @hcho3
- Support standardization for sparse vectors in logistic regression MG (#5806) @lijinf2
- Update script input name (#5802) @AyodeAwe
- Add upper bound to prevent usage of NumPy 2 (#5797) @bdice
- Enable pytest failures on warnings from cudf (#5796) @mroeschke
- Use public cudf APIs where possible (#5795) @mroeschke
- Remove hard-coding of RAPIDS version where possible (#5793) @KyleFromNVIDIA
- Switch
pytest-xdist
algorithm toworksteal
(#5792) @bdice - Automate C++ include file grouping and ordering using clang-format (#5787) @harrism
- Add support for Python 3.11, require NumPy 1.23+ (#5786) @jameslamb
- [ENH] Let cuDF handle input types for label encoder. (#5783) @trivialfis
- Install test dependencies at the same time as cuml packages. (#5781) @bdice
- Update devcontainers to CUDA Toolkit 12.2 (#5778) @trxcllnt
- target branch-24.04 for GitHub Actions workflows (#5776) @jameslamb
- Add environment-agnostic scripts for running ctests and pytests (#5761) @trxcllnt
- Pandas 2.x support (#5758) @dantegd
- Update ops-bot.yaml (#5752) @AyodeAwe
- Forward-merge branch-24.02 to branch-24.04 (#5735) @bdice
- Replace local copyright check with pre-commit-hooks verify-copyright (#5732) @KyleFromNVIDIA
- DBSCAN utilize rbc eps_neighbors (#5728) @mfoerste4