Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/pr.yaml
Comment thread
csadorf marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ jobs:
- wheel-build-libcuml
- wheel-build-cuml
- wheel-tests-cuml
- wheel-tests-cuml-nightly-dependencies-versions
- wheel-tests-cuml-dask
- devcontainer
secrets: inherit
Expand Down Expand Up @@ -260,6 +261,17 @@ jobs:
build_type: pull-request
script: ci/test_wheel.sh
sccache-dist-token-secret-name: GIST_REPO_READ_ORG_GITHUB_TOKEN
wheel-tests-cuml-nightly-dependencies-versions:
needs: [wheel-build-cuml, changed-files]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main
if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python
with:
build_type: pull-request
script: ci/test_wheel.sh
continue-on-error: true
# Run same combinations as wheel-tests-cuml but with nightly dependencies
matrix_filter: 'map(.DEPENDENCIES = "nightly")'
Comment thread
csadorf marked this conversation as resolved.
Outdated
wheel-tests-cuml-dask:
needs: [wheel-build-cuml, changed-files]
secrets: inherit
Expand Down
26 changes: 26 additions & 0 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ files:
includes:
- cuda_version
- depends_on_cuml
- depends_on_cupy
- depends_on_libcuml
- py_version
- test_python
Expand All @@ -126,6 +127,7 @@ files:
includes:
- cuda_version
- depends_on_cuml
- depends_on_cupy
- depends_on_libcuml
- py_version
- test_python
Expand Down Expand Up @@ -621,6 +623,22 @@ dependencies:
specific:
- output_types: [requirements, pyproject]
matrices:
# Nightly dependencies with pre-release specifiers
- matrix:
cuda: "12.*"
dependencies: "nightly"
packages:
- cupy-cuda12x>=13.6.0a0
- matrix:
cuda: "13.*"
dependencies: "nightly"
packages:
- cupy-cuda13x>=13.6.0a0
- matrix:
dependencies: "nightly"
packages:
- cupy-cuda13x>=13.6.0a0
Comment on lines +631 to +640
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- cupy-cuda12x>=13.6.0a0
- matrix:
cuda: "13.*"
dependencies: "nightly"
packages:
- cupy-cuda13x>=13.6.0a0
- matrix:
dependencies: "nightly"
packages:
- cupy-cuda13x>=13.6.0a0
- cupy-cuda12x>=14.0.0a0
- matrix:
cuda: "13.*"
dependencies: "nightly"
packages:
- &cupy_cu13_nightly cupy-cuda13x>=14.0.0a0
- matrix:
dependencies: "nightly"
packages:
- *cupy_cu13_nightly

If you want to be sure this is pulling at least 14.0 nightlies, I think this floor should be moved up.

Encoding the fallback as "whatever we use for CUDA 13" with YAML anchors is also helpful to clarify the intent.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is working as expected, so I'm going to leave the configuration as-is to reduce churn. We can improve this if we need to make other changes to this job either in this PR or in a follow-up.

# Standard dependencies
- matrix:
cuda: "12.*"
packages:
Expand All @@ -629,6 +647,14 @@ dependencies:
- matrix:
packages:
- cupy-cuda13x>=13.6.0
- output_types: requirements
matrices:
- matrix:
dependencies: "nightly"
packages:
- --find-links=https://pip.cupy.dev/pre
- matrix:
packages:
depends_on_rapids_dask_dependency:
common:
- output_types: [conda, pyproject, requirements]
Expand Down
4 changes: 2 additions & 2 deletions python/cuml/cuml/datasets/classification.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright (c) 2020-2025, NVIDIA CORPORATION.
# SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0
#

Expand Down Expand Up @@ -95,7 +95,7 @@ def make_classification(
[-0.88968956 -0.914443 0.1302423 0.02924336]
[-0.8817671 -0.84549576 0.1845096 0.02556021]]

>>> print(y)
>>> print(y) # doctest: +SKIP
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

curious, why do we need this skip now?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dataset generated by make_classification is not the same between cupy <14rc and cupy >=14rc even with the same random seed. That was previously already the case for the floating point values in X, and now is also the case for the integer y dataset. I am not sure whether that is expected, but it is certainly not surprising to me that there would be no random data stability between major versions.

[1 0 1 1 1 1 1 1 1 0]

Parameters
Expand Down
4 changes: 2 additions & 2 deletions python/cuml/cuml/neighbors/nearest_neighbors.pyx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# SPDX-FileCopyrightText: Copyright (c) 2019-2025, NVIDIA CORPORATION.
# SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0
#
import typing
Expand Down Expand Up @@ -537,7 +537,7 @@ class NearestNeighbors(Base,
>>> distances, indices = model.kneighbors(X_cudf)

>>> # print results
>>> print(indices)
>>> print(indices) # doctest: +SKIP
0 1 2
0 0 3 1
1 1 3 0
Expand Down
10 changes: 6 additions & 4 deletions python/cuml/tests/explainer/test_explainer_kernel_shap.py
Original file line number Diff line number Diff line change
Expand Up @@ -301,11 +301,13 @@ def test_generate_nsamples_weights():
# are generated correctly
for i, s in enumerate(samples):
assert s in [5, 6]
assert w[i * 2] == cuml.explainer.kernel_shap._shapley_kernel(
20, int(s)
assert np.isclose(
float(w[i * 2]),
cuml.explainer.kernel_shap._shapley_kernel(20, int(s)),
)
assert w[i * 2 + 1] == cuml.explainer.kernel_shap._shapley_kernel(
20, int(s)
assert np.isclose(
float(w[i * 2 + 1]),
cuml.explainer.kernel_shap._shapley_kernel(20, int(s)),
)


Expand Down
Loading