Skip to content

Commit 84946a9

Browse files
authored
Solve forward merger conflicts of #6313 (#6385)
Solve conflicts of #6313 Authors: - Dante Gama Dessavre (https://github.com/dantegd) - Simon Adorf (https://github.com/csadorf) - Jake Awe (https://github.com/AyodeAwe) Approvers: - Simon Adorf (https://github.com/csadorf) - Divye Gala (https://github.com/divyegala) URL: #6385
1 parent a34755a commit 84946a9

File tree

7 files changed

+109
-15
lines changed

7 files changed

+109
-15
lines changed

CHANGELOG.md

+74
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,77 @@
1+
# cuml 25.02.00 (13 Feb 2025)
2+
3+
## 🚨 Breaking Changes
4+
5+
- update pip devcontainers to UCX 1.18 ([#6249](https://github.com/rapidsai/cuml/pull/6249)) [@jameslamb](https://github.com/jameslamb)
6+
7+
## 🐛 Bug Fixes
8+
9+
- Fix dask logistic regression segfault/hang due to wrongly typed variable ([#6281](https://github.com/rapidsai/cuml/pull/6281)) [@dantegd](https://github.com/dantegd)
10+
- Log UMAP arrays at trace verbosity level. ([#6274](https://github.com/rapidsai/cuml/pull/6274)) [@csadorf](https://github.com/csadorf)
11+
- Ensure all method signatures are sklearn compatible ([#6260](https://github.com/rapidsai/cuml/pull/6260)) [@jcrist](https://github.com/jcrist)
12+
- Fix UMAP transform illegal memory access error when data_on_host=True ([#6259](https://github.com/rapidsai/cuml/pull/6259)) [@csadorf](https://github.com/csadorf)
13+
- Ignore cudf's __dataframe__ deprecation. ([#6229](https://github.com/rapidsai/cuml/pull/6229)) [@bdice](https://github.com/bdice)
14+
- Fix for porter stemmer for cuDF change and ARIMA pytest adjustments ([#6227](https://github.com/rapidsai/cuml/pull/6227)) [@dantegd](https://github.com/dantegd)
15+
- Avoid duplicate log entries ([#6222](https://github.com/rapidsai/cuml/pull/6222)) [@jcrist](https://github.com/jcrist)
16+
- Further fixes for Scipy 1.15 update for PR and nightly CI ([#6213](https://github.com/rapidsai/cuml/pull/6213)) [@dantegd](https://github.com/dantegd)
17+
- Update setulb call from Scipy for updated signature of 1.15 ([#6207](https://github.com/rapidsai/cuml/pull/6207)) [@dantegd](https://github.com/dantegd)
18+
- Adjust test_kmeans to avoid false positive failures ([#6193](https://github.com/rapidsai/cuml/pull/6193)) [@dantegd](https://github.com/dantegd)
19+
- Adjust margin of logistic regression `log_proba` pytest to avoid false positive failures ([#6188](https://github.com/rapidsai/cuml/pull/6188)) [@dantegd](https://github.com/dantegd)
20+
- Skip flaky test of kernel_density in nightly job of CUDA 12.0.1 ([#6184](https://github.com/rapidsai/cuml/pull/6184)) [@dantegd](https://github.com/dantegd)
21+
- Try to reduce network usage in cuML tests. ([#6174](https://github.com/rapidsai/cuml/pull/6174)) [@bdice](https://github.com/bdice)
22+
- cuML dask fixes to unblock CI ([#6170](https://github.com/rapidsai/cuml/pull/6170)) [@dantegd](https://github.com/dantegd)
23+
- Remap BATCH_TREE_REORG to TREE_REORG in FIL ([#6161](https://github.com/rapidsai/cuml/pull/6161)) [@wphicks](https://github.com/wphicks)
24+
25+
## 📖 Documentation
26+
27+
- Fixes github link from pyx files ([#6202](https://github.com/rapidsai/cuml/pull/6202)) [@thomasjpfan](https://github.com/thomasjpfan)
28+
29+
## 🚀 New Features
30+
31+
- Allow CUDA ODR violations in 25.02 ([#6264](https://github.com/rapidsai/cuml/pull/6264)) [@robertmaynard](https://github.com/robertmaynard)
32+
- Define block size for sm_120 ([#6250](https://github.com/rapidsai/cuml/pull/6250)) [@robertmaynard](https://github.com/robertmaynard)
33+
- Support `alpha=0` in `Ridge` ([#6236](https://github.com/rapidsai/cuml/pull/6236)) [@jcrist](https://github.com/jcrist)
34+
- Add `as_sklearn` and `from_sklearn` APIs to serialize to CPU sklearn-estimators for supported models ([#6102](https://github.com/rapidsai/cuml/pull/6102)) [@dantegd](https://github.com/dantegd)
35+
36+
## 🛠️ Improvements
37+
38+
- Use `rapids-pip-retry` in CI jobs that might need retries ([#6293](https://github.com/rapidsai/cuml/pull/6293)) [@gforsyth](https://github.com/gforsyth)
39+
- Avoid large device allocation in UMAP with nndescent ([#6292](https://github.com/rapidsai/cuml/pull/6292)) [@jcrist](https://github.com/jcrist)
40+
- Revert CUDA 12.8 shared workflow branch changes ([#6282](https://github.com/rapidsai/cuml/pull/6282)) [@vyasr](https://github.com/vyasr)
41+
- Build and test with CUDA 12.8.0 ([#6266](https://github.com/rapidsai/cuml/pull/6266)) [@bdice](https://github.com/bdice)
42+
- update pip devcontainers to UCX 1.18 ([#6249](https://github.com/rapidsai/cuml/pull/6249)) [@jameslamb](https://github.com/jameslamb)
43+
- Drop deprecated thrust features and replace with libcu++ ones ([#6248](https://github.com/rapidsai/cuml/pull/6248)) [@miscco](https://github.com/miscco)
44+
- Add upper bound to prevent usage of numba 0.61.0 ([#6244](https://github.com/rapidsai/cuml/pull/6244)) [@galipremsagar](https://github.com/galipremsagar)
45+
- Normalize whitespace ([#6238](https://github.com/rapidsai/cuml/pull/6238)) [@bdice](https://github.com/bdice)
46+
- Rename cpp/test to cpp/tests. ([#6237](https://github.com/rapidsai/cuml/pull/6237)) [@bdice](https://github.com/bdice)
47+
- Use cuda.bindings layout. ([#6233](https://github.com/rapidsai/cuml/pull/6233)) [@bdice](https://github.com/bdice)
48+
- Skip dispatching to GPU for unimplemented metrics in UMAP ([#6224](https://github.com/rapidsai/cuml/pull/6224)) [@betatim](https://github.com/betatim)
49+
- Use GCC 13 in CUDA 12 conda builds. ([#6221](https://github.com/rapidsai/cuml/pull/6221)) [@bdice](https://github.com/bdice)
50+
- declare cuda-python dependency for wheels, other small packaging changes ([#6217](https://github.com/rapidsai/cuml/pull/6217)) [@jameslamb](https://github.com/jameslamb)
51+
- Bump Treelite to 4.4.1 ([#6212](https://github.com/rapidsai/cuml/pull/6212)) [@hcho3](https://github.com/hcho3)
52+
- Support raft's logger targets ([#6208](https://github.com/rapidsai/cuml/pull/6208)) [@vyasr](https://github.com/vyasr)
53+
- Use rapids-cmake for the logger ([#6205](https://github.com/rapidsai/cuml/pull/6205)) [@vyasr](https://github.com/vyasr)
54+
- consolidate pytest config in pyproject.toml ([#6201](https://github.com/rapidsai/cuml/pull/6201)) [@jameslamb](https://github.com/jameslamb)
55+
- introduce libcuml wheels ([#6199](https://github.com/rapidsai/cuml/pull/6199)) [@jameslamb](https://github.com/jameslamb)
56+
- Check if nightlies have succeeded recently enough ([#6196](https://github.com/rapidsai/cuml/pull/6196)) [@vyasr](https://github.com/vyasr)
57+
- Remove sphinx pinning ([#6195](https://github.com/rapidsai/cuml/pull/6195)) [@vyasr](https://github.com/vyasr)
58+
- simplify wheel CI scripts, other small packaging changes ([#6190](https://github.com/rapidsai/cuml/pull/6190)) [@jameslamb](https://github.com/jameslamb)
59+
- Update for raft logger changes ([#6187](https://github.com/rapidsai/cuml/pull/6187)) [@vyasr](https://github.com/vyasr)
60+
- update telemetry actions to fluent-bit friendly style ([#6186](https://github.com/rapidsai/cuml/pull/6186)) [@msarahan](https://github.com/msarahan)
61+
- HDBSCAN and KMeans API improvements for improving CPU interoperability ([#6181](https://github.com/rapidsai/cuml/pull/6181)) [@dantegd](https://github.com/dantegd)
62+
- CPU/GPU interop with RandomForest ([#6175](https://github.com/rapidsai/cuml/pull/6175)) [@hcho3](https://github.com/hcho3)
63+
- Update version references in workflow ([#6172](https://github.com/rapidsai/cuml/pull/6172)) [@AyodeAwe](https://github.com/AyodeAwe)
64+
- gate telemetry dispatch calls on TELEMETRY_ENABLED env var ([#6171](https://github.com/rapidsai/cuml/pull/6171)) [@msarahan](https://github.com/msarahan)
65+
- Use rapids-logger to generate the cuml logger ([#6162](https://github.com/rapidsai/cuml/pull/6162)) [@vyasr](https://github.com/vyasr)
66+
- Use estimator tags to improve sparse error handling ([#6151](https://github.com/rapidsai/cuml/pull/6151)) [@dantegd](https://github.com/dantegd)
67+
- FEA Add support for accepting a Numpy RandomState ([#6150](https://github.com/rapidsai/cuml/pull/6150)) [@betatim](https://github.com/betatim)
68+
- prefer system install of UCX in pip devcontainers, update outdated RAPIDS references ([#6149](https://github.com/rapidsai/cuml/pull/6149)) [@jameslamb](https://github.com/jameslamb)
69+
- Improve infrastructure for experimental dispatching of non existing methods in cuML ([#6148](https://github.com/rapidsai/cuml/pull/6148)) [@dantegd](https://github.com/dantegd)
70+
- Adapt to rmm logger changes ([#6147](https://github.com/rapidsai/cuml/pull/6147)) [@vyasr](https://github.com/vyasr)
71+
- Require approval to run CI on draft PRs ([#6145](https://github.com/rapidsai/cuml/pull/6145)) [@bdice](https://github.com/bdice)
72+
- Add breaking change workflow trigger ([#6130](https://github.com/rapidsai/cuml/pull/6130)) [@AyodeAwe](https://github.com/AyodeAwe)
73+
- Switch to native traceback in `cuml` ([#6078](https://github.com/rapidsai/cuml/pull/6078)) [@galipremsagar](https://github.com/galipremsagar)
74+
175
# cuml 24.12.00 (11 Dec 2024)
276

377
## 🚨 Breaking Changes

cpp/src/umap/simpl_set_embed/algo.cuh

+1-1
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ void launcher(
343343
if (ML::default_logger().should_log(rapids_logger::level_enum::debug)) {
344344
std::stringstream ss;
345345
ss << raft::arr2Str(epochs_per_sample.data(), out.nnz, "epochs_per_sample", stream);
346-
CUML_LOG_DEBUG(ss.str().c_str());
346+
CUML_LOG_TRACE(ss.str().c_str());
347347
}
348348
*/
349349

cpp/src/umap/supervised.cuh

+2-2
Original file line numberDiff line numberDiff line change
@@ -307,10 +307,10 @@ void perform_general_intersection(const raft::handle_t& handle,
307307
std::stringstream ss1, ss2;
308308
ss1 << raft::arr2Str(
309309
y_knn_indices.data(), rgraph_coo->n_rows * params->target_n_neighbors, "knn_indices", stream);
310-
CUML_LOG_DEBUG("%s", ss1.str().c_str());
310+
CUML_LOG_TRACE("%s", ss1.str().c_str());
311311
ss2 << raft::arr2Str(
312312
y_knn_dists.data(), rgraph_coo->n_rows * params->target_n_neighbors, "knn_dists", stream);
313-
CUML_LOG_DEBUG("%s", ss2.str().c_str());
313+
CUML_LOG_TRACE("%s", ss2.str().c_str());
314314
}
315315
*/
316316

python/cuml/cuml/accel/__main__.py

+23-4
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
import click
2323
import joblib
2424

25-
from cuml.internals import logger
26-
from cuml.accel.core import install
27-
2825

2926
@click.command()
3027
@click.option("-m", "module", required=False, help="Module to run")
@@ -59,10 +56,32 @@
5956
count=True,
6057
help="Increase output verbosity (can be used multiple times, e.g. -vv). Default shows warnings only.",
6158
)
59+
@click.option(
60+
"--cudf-pandas",
61+
is_flag=True,
62+
default=False,
63+
help="Turn on cudf.pandas alongside cuml.accel.",
64+
)
6265
@click.argument("args", nargs=-1)
6366
def main(
64-
module, convert_to_sklearn, format, output, disable_uvm, verbose, args
67+
module,
68+
convert_to_sklearn,
69+
format,
70+
output,
71+
disable_uvm,
72+
verbose,
73+
cudf_pandas,
74+
args,
6575
):
76+
if cudf_pandas:
77+
import cudf.pandas
78+
79+
cudf.pandas.install()
80+
81+
# avoid importing cuML before cuDF.pandas
82+
from cuml.internals import logger
83+
from cuml.accel.core import install
84+
6685
default_logger_level_index = list(logger.level_enum).index(
6786
logger.level_enum.warn
6887
)

python/cuml/cuml/ensemble/randomforest_common.pyx

+7-6
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,7 @@ class BaseRandomForestModel(UniversalBase):
110110
criterion=None,
111111
max_batch_size=4096, **kwargs):
112112

113-
sklearn_params = {"criterion": criterion,
114-
"min_weight_fraction_leaf": min_weight_fraction_leaf,
113+
sklearn_params = {"min_weight_fraction_leaf": min_weight_fraction_leaf,
115114
"max_leaf_nodes": max_leaf_nodes,
116115
"min_impurity_split": min_impurity_split,
117116
"oob_score": oob_score, "n_jobs": n_jobs,
@@ -169,6 +168,12 @@ class BaseRandomForestModel(UniversalBase):
169168
" RandomForest split criterion"
170169
)
171170

171+
if self.split_criterion == MAE:
172+
raise NotImplementedError(
173+
"cuML does not currently support mean average error as a"
174+
" RandomForest split criterion"
175+
)
176+
172177
self.min_samples_leaf = min_samples_leaf
173178
self.min_samples_split = min_samples_split
174179
self.min_impurity_decrease = min_impurity_decrease
@@ -399,10 +404,6 @@ class BaseRandomForestModel(UniversalBase):
399404
self.n_outputs_ = y_m.shape[1]
400405
self.n_features_in_ = X_m.shape[1]
401406

402-
if self.dtype == np.float64:
403-
warnings.warn("To use pickling first train using float32 data "
404-
"to fit the estimator")
405-
406407
max_feature_val = self._get_max_feat_val()
407408
if isinstance(self.min_samples_leaf, float):
408409
self.min_samples_leaf = \

python/cuml/cuml/ensemble/randomforestclassifier.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ class RandomForestClassifier(BaseRandomForestModel,
262262

263263
_hyperparam_interop_translator = {
264264
"criterion": {
265-
"log_loss": "NotImplemented"
265+
"log_loss": "NotImplemented",
266266
},
267267
"oob_score": {
268268
True: "NotImplemented",

python/cuml/cuml/ensemble/randomforestregressor.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ class RandomForestRegressor(BaseRandomForestModel,
265265
_hyperparam_interop_translator = {
266266
"criterion": {
267267
"friedman_mse": "NotImplemented",
268-
"absolute_error": "NotImplemented"
268+
"absolute_error": "NotImplemented",
269269
},
270270
"oob_score": {
271271
True: "NotImplemented",

0 commit comments

Comments
 (0)