From e78a0fc98d089d4f00fb451c62f0ad3a91d93b63 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 6 Dec 2024 17:06:17 -0600 Subject: [PATCH 1/4] Update cuda-python lower bounds to 12.6.2 / 11.8.5. --- conda/environments/all_cuda-118_arch-x86_64.yaml | 2 +- conda/environments/all_cuda-125_arch-x86_64.yaml | 2 +- conda/recipes/cuml/meta.yaml | 8 ++++---- dependencies.yaml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 126098f5fa..9da87e3207 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -9,7 +9,7 @@ channels: dependencies: - c-compiler - cmake>=3.26.4,!=3.30.0 -- cuda-python>=11.7.1,<12.0a0,<=11.8.3 +- cuda-python>=11.8.5,<12.0a0 - cuda-version=11.8 - cudatoolkit - cudf==25.2.*,>=0.0.0a0 diff --git a/conda/environments/all_cuda-125_arch-x86_64.yaml b/conda/environments/all_cuda-125_arch-x86_64.yaml index bfa564b93c..7491de8057 100644 --- a/conda/environments/all_cuda-125_arch-x86_64.yaml +++ b/conda/environments/all_cuda-125_arch-x86_64.yaml @@ -12,7 +12,7 @@ dependencies: - cuda-cudart-dev - cuda-nvcc - cuda-profiler-api -- cuda-python>=12.0,<13.0a0,<=12.6.0 +- cuda-python>=12.6.2,<13.0a0 - cuda-version=12.5 - cudf==25.2.*,>=0.0.0a0 - cupy>=12.0.0 diff --git a/conda/recipes/cuml/meta.yaml b/conda/recipes/cuml/meta.yaml index a2418dad10..35157fb3cc 100644 --- a/conda/recipes/cuml/meta.yaml +++ b/conda/recipes/cuml/meta.yaml @@ -58,10 +58,10 @@ requirements: - cuda-version ={{ cuda_version }} {% if cuda_major == "11" %} - cudatoolkit - - cuda-python >=11.7.1,<12.0a0,<=11.8.3 + - cuda-python >=11.8.5,<12.0a0 {% else %} - cuda-cudart-dev - - cuda-python >=12.0,<13.0a0,<=12.6.0 + - cuda-python >=12.6.2,<13.0a0 {% endif %} - cudf ={{ minor_version }} - cython >=3.0.0 @@ -77,10 +77,10 @@ requirements: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} - cudatoolkit - - cuda-python >=11.7.1,<12.0a0,<=11.8.3 + - cuda-python >=11.8.5,<12.0a0 {% else %} - cuda-cudart - - cuda-python >=12.0,<13.0a0,<=12.6.0 + - cuda-python >=12.6.2,<13.0a0 {% endif %} - cudf ={{ minor_version }} - cupy >=12.0.0 diff --git a/dependencies.yaml b/dependencies.yaml index 83833e6f01..1110eba5dc 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -198,11 +198,11 @@ dependencies: - matrix: cuda: "12.*" packages: - - cuda-python>=12.0,<13.0a0,<=12.6.0 + - cuda-python>=12.6.2,<13.0a0 - matrix: cuda: "11.*" packages: - - cuda-python>=11.7.1,<12.0a0,<=11.8.3 + - cuda-python>=11.8.5,<12.0a0 - matrix: packages: - cuda-python From 25e77ae2419c307ebb1b4bc803cd24de9db19358 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 9 Dec 2024 01:44:34 -0600 Subject: [PATCH 2/4] FIX cuml dask fixes to unblock CI --- .../cuml/cuml/dask/neighbors/kneighbors_classifier.py | 2 -- python/cuml/cuml/tests/dask/test_dask_arr_utils.py | 6 +++++- .../cuml/tests/dask/test_dask_logistic_regression.py | 10 +++++++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/python/cuml/cuml/dask/neighbors/kneighbors_classifier.py b/python/cuml/cuml/dask/neighbors/kneighbors_classifier.py index 18babd75c0..fa0e1e59d9 100644 --- a/python/cuml/cuml/dask/neighbors/kneighbors_classifier.py +++ b/python/cuml/cuml/dask/neighbors/kneighbors_classifier.py @@ -114,8 +114,6 @@ def fit(self, X, y): # Dask-expr does not support numerical column names # See: https://github.com/dask/dask-expr/issues/1015 _y = y - if hasattr(y, "to_legacy_dataframe"): - _y = y.to_legacy_dataframe() n_targets = len(_y.columns) for i in range(n_targets): uniq_labels.append(_y.iloc[:, i].unique()) diff --git a/python/cuml/cuml/tests/dask/test_dask_arr_utils.py b/python/cuml/cuml/tests/dask/test_dask_arr_utils.py index 17657346d1..f009c04e9b 100644 --- a/python/cuml/cuml/tests/dask/test_dask_arr_utils.py +++ b/python/cuml/cuml/tests/dask/test_dask_arr_utils.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020-2023, NVIDIA CORPORATION. +# Copyright (c) 2020-2024, NVIDIA CORPORATION. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -50,6 +50,10 @@ def test_to_sparse_dask_array(input_type, nrows, ncols, client): a = cupyx.scipy.sparse.random(nrows, ncols, format="csr", dtype=cp.float32) if input_type == "dask_dataframe": + pytest.xfail( + reason="Dask nightlies break task fusing for this, " + "issue https://github.com/rapidsai/cuml/issues/6169" + ) df = cudf.DataFrame(a.todense()) inp = dask_cudf.from_cudf(df, npartitions=2) elif input_type == "dask_array": diff --git a/python/cuml/cuml/tests/dask/test_dask_logistic_regression.py b/python/cuml/cuml/tests/dask/test_dask_logistic_regression.py index e73586498f..94ebecf6b0 100644 --- a/python/cuml/cuml/tests/dask/test_dask_logistic_regression.py +++ b/python/cuml/cuml/tests/dask/test_dask_logistic_regression.py @@ -80,9 +80,13 @@ def cal_chunks(dataset, n_partitions): X_da = da.from_array(X_train, chunks=(target_chunk_sizes, -1)) y_da = da.from_array(y_train, chunks=target_chunk_sizes) - X_da, y_da = dask_utils.persist_across_workers( - c, [X_da, y_da], workers=workers - ) + # todo (dgd): Dask nightly packages break persisting + # sparse arrays before using them. + # https://github.com/rapidsai/cuml/issues/6168 + + # X_da, y_da = dask_utils.persist_across_workers( + # c, [X_da, y_da], workers=workers + # ) return X_da, y_da From 4e5197bc75aed96d9c57ab0cf7e3bb910a91aec6 Mon Sep 17 00:00:00 2001 From: divyegala Date: Tue, 10 Dec 2024 08:21:26 -0800 Subject: [PATCH 3/4] attempting devcontainer pip fix --- cpp/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index e176f802bf..71cc6b1796 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -613,8 +613,6 @@ if(BUILD_CUML_CPP_LIBRARY) set(_cuml_cpp_libs_var_name "_cuml_cpp_public_libs") if(CUDA_STATIC_RUNTIME) set(_cuml_cpp_libs_var_name "_cuml_cpp_private_libs") - # Add CTK include paths because we're going to make our CTK library links private below - target_include_directories(${CUML_CPP_TARGET} SYSTEM PUBLIC ${CUDAToolkit_INCLUDE_DIRS}) endif() # The visibility of these depend on whether we're linking the CTK statically, From 822efd4deb159024289d4f13881defbfa0966924 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 10 Dec 2024 23:50:01 -0600 Subject: [PATCH 4/4] Revert changes to CMakeLists.txt --- cpp/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 71cc6b1796..e176f802bf 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -613,6 +613,8 @@ if(BUILD_CUML_CPP_LIBRARY) set(_cuml_cpp_libs_var_name "_cuml_cpp_public_libs") if(CUDA_STATIC_RUNTIME) set(_cuml_cpp_libs_var_name "_cuml_cpp_private_libs") + # Add CTK include paths because we're going to make our CTK library links private below + target_include_directories(${CUML_CPP_TARGET} SYSTEM PUBLIC ${CUDAToolkit_INCLUDE_DIRS}) endif() # The visibility of these depend on whether we're linking the CTK statically,