Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 2 additions & 0 deletions .devcontainer/cuda12.9-conda/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
"nofile=500000"
],
"hostRequirements": {"gpu": "optional"},
// TODO: remove the PYTHON_VERSION override when all of cuml's dependencies have Python 3.14 support
"containerEnv": {"PYTHON_VERSION": "3.13"},
"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.6": {}
},
Expand Down
2 changes: 2 additions & 0 deletions .devcontainer/cuda12.9-pip/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
"nofile=500000"
],
"hostRequirements": {"gpu": "optional"},
// TODO: remove the PYTHON_VERSION override when all of cuml's dependencies have Python 3.14 support
"containerEnv": {"PYTHON_VERSION": "3.13"},
"features": {
"ghcr.io/rapidsai/devcontainers/features/cuda:26.6": {
"version": "12.9",
Expand Down
2 changes: 2 additions & 0 deletions .devcontainer/cuda13.1-conda/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
"nofile=500000"
],
"hostRequirements": {"gpu": "optional"},
// TODO: remove the PYTHON_VERSION override when all of cuml's dependencies have Python 3.14 support
"containerEnv": {"PYTHON_VERSION": "3.13"},
"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.6": {}
},
Expand Down
2 changes: 2 additions & 0 deletions .devcontainer/cuda13.1-pip/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
"nofile=500000"
],
"hostRequirements": {"gpu": "optional"},
// TODO: remove the PYTHON_VERSION override when all of cuml's dependencies have Python 3.14 support
"containerEnv": {"PYTHON_VERSION": "3.13"},
"features": {
"ghcr.io/rapidsai/devcontainers/features/cuda:26.6": {
"version": "13.1",
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
arch: "amd64"
branch: ${{ inputs.branch }}
build_type: ${{ inputs.build_type || 'branch' }}
container_image: "rapidsai/ci-conda:26.06-latest"
container_image: "rapidsai/ci-conda:26.06-cuda13.0.2-ubuntu22.04-py3.13"
date: ${{ inputs.date }}
node_type: "gpu-l4-latest-1"
script: "ci/build_docs.sh"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ jobs:
build_type: pull-request
node_type: "gpu-l4-latest-1"
arch: "amd64"
container_image: "rapidsai/ci-conda:26.06-latest"
container_image: "rapidsai/ci-conda:26.06-cuda13.0.2-ubuntu22.04-py3.13"
script: "ci/build_docs.sh"
wheel-build-libcuml:
needs: checks
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,14 @@ junit-*.xml
docs/source/*.model
docs/source/*.pkl
docs/source/*.tl
docs/source/*.joblib

## autosummary-generated API reference stubs
docs/source/api/generated/

## Sphinx build output
docs/build/
docs/_html/

## eclipse
.project
Expand Down
27 changes: 16 additions & 11 deletions ci/test_wheel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,35 @@ mkdir -p "${RAPIDS_TESTS_DIR}"

# generate constraints, the constraints will limit the version of the
# dependencies that can be installed later on when installing the wheel
rapids-generate-pip-constraints test_python ./constraints.txt
rapids-generate-pip-constraints test_python "${PIP_CONSTRAINT}"

# Install just minimal dependencies first
# notes:
#
# * just providing --constraint="${PIP_CONSTRAINT}" to be explicit, and because
# that environment variable is ignored if any other --constraint are passed via the CLI
#
rapids-pip-retry install \
--prefer-binary \
--constraint "${PIP_CONSTRAINT}" \
"${LIBCUML_WHEELHOUSE}"/libcuml*.whl \
"${CUML_WHEELHOUSE}"/cuml*.whl \
--constraint ./constraints.txt \
--constraint "${PIP_CONSTRAINT}"
"${CUML_WHEELHOUSE}"/cuml*.whl


# Try to import cuml with just a minimal install"
rapids-logger "Importing cuml with minimal dependencies"
python -c "import cuml"

# notes:
#
# * echo to expand wildcard before adding `[test,experimental]` requires for pip
# * need to provide --constraint="${PIP_CONSTRAINT}" because that environment variable is
# ignored if any other --constraint are passed via the CLI
# * echo to expand wildcard before adding `[test]` requires for pip
# * just providing --constraint="${PIP_CONSTRAINT}" to be explicit, and because
# that environment variable is ignored if any other --constraint are passed via the CLI
#
rapids-pip-retry install \
--prefer-binary \
--constraint "${PIP_CONSTRAINT}" \
"${LIBCUML_WHEELHOUSE}"/libcuml*.whl \
"$(echo "${CUML_WHEELHOUSE}"/cuml*.whl)[test]" \
--constraint ./constraints.txt \
--constraint "${PIP_CONSTRAINT}"
"$(echo "${CUML_WHEELHOUSE}"/cuml*.whl)[test]"

EXITCODE=0
trap "EXITCODE=1" ERR
Expand Down
14 changes: 7 additions & 7 deletions ci/test_wheel_dask.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ mkdir -p "${RAPIDS_TESTS_DIR}"

# generate constraints, the constraints will limit the version of the
# dependencies that can be installed later on when installing the wheel
rapids-generate-pip-constraints test_python ./constraints.txt
rapids-generate-pip-constraints test_python "${PIP_CONSTRAINT}"

# notes:
#
# * echo to expand wildcard before adding `[...]` extras for pip
# * need to provide --constraint="${PIP_CONSTRAINT}" because that environment variable is
# ignored if any other --constraint are passed via the CLI
# * echo to expand wildcard before adding `[test]` requires for pip
# * just providing --constraint="${PIP_CONSTRAINT}" to be explicit, and because
# that environment variable is ignored if any other --constraint are passed via the CLI
#
rapids-pip-retry install \
--prefer-binary \
--constraint "${PIP_CONSTRAINT}" \
"${LIBCUML_WHEELHOUSE}"/libcuml*.whl \
"$(echo "${CUML_WHEELHOUSE}"/cuml*.whl)[dask,test,test-dask]" \
--constraint ./constraints.txt \
--constraint "${PIP_CONSTRAINT}"
"$(echo "${CUML_WHEELHOUSE}"/cuml*.whl)[dask,test,test-dask]"

EXITCODE=0
trap "EXITCODE=1" ERR
Expand Down
3 changes: 2 additions & 1 deletion ci/test_wheel_integrations.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,13 @@ rapids-logger "===== Testing BERTopic Integration ====="
# Step 1: Install cuML wheels first (two-step workaround for issue #7374)
rapids-logger "Installing cuML wheels"
rapids-pip-retry install \
--prefer-binary \
"${LIBCUML_WHEELHOUSE}"/libcuml*.whl \
"${CUML_WHEELHOUSE}"/cuml*.whl

# Step 2: Install BERTopic
rapids-logger "Installing BERTopic"
rapids-pip-retry install bertopic
rapids-pip-retry install --prefer-binary bertopic

# Test 1: Verify imports
rapids-logger "Testing imports"
Expand Down
80 changes: 70 additions & 10 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,8 @@ dependencies:
- rich
- &scikit_learn scikit-learn>=1.5
- *treelite
# 'cuda_version' intentionally does not contain fallback entries... we want
# a loud error if an unsupported 'cuda' value is passed
cuda_version:
specific:
- output_types: conda
Expand Down Expand Up @@ -357,6 +359,51 @@ dependencies:
cuda: "13.1"
packages:
- cuda-version=13.1
- output_types: requirements
matrices:
# if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels
# (e.g. for DLFW and pip devcontainers)
- matrix:
use_cuda_wheels: "false"
packages:
- matrix:
arch: aarch64
cuda: "12.2"
use_cuda_wheels: "true"
packages:
# some components (like nvidia-cublas-cu12 and nvidia-cuda-nvcc-cu12) didn't have
# aarch64 wheels until CTK 12.3, so allow a slightly looser bound here
- cuda-toolkit>=12.2,<12.4
- matrix:
cuda: "12.2"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==12.2.*
- matrix:
cuda: "12.5"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==12.5.*
- matrix:
cuda: "12.8"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==12.8.*
- matrix:
cuda: "12.9"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==12.9.*
- matrix:
cuda: "13.0"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==13.0.*
- matrix:
cuda: "13.1"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==13.1.*
cuda:
common:
- output_types: [conda]
Expand All @@ -370,28 +417,41 @@ dependencies:
- libcusparse-dev
cuda_wheels:
specific:
# cuML needs 'nvJitLink>={whatever-cuml-was-built-against}' at runtime, and mixing
# old-CTK with new-nvJitLink is supported, so maintain 1 entry here per CUDA major.minor
# cuML is built against.
#
# nvJitLink has historically roughly followed the CTK's minor versioning scheme,
# but check at https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
- output_types: [requirements, pyproject]
matrices:
# if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels
# (e.g. for DLFW and pip devcontainers)
- matrix:
cuda: "12.*"
use_cuda_wheels: "true"
use_cuda_wheels: "false"
packages:
- cuda-toolkit[cublas,cufft,curand,cusolver,cusparse,nvjitlink]==12.*
# We always want nvJitLink >= whatever minor version was available in the build environment
# nvJitLink tends to follow the CTK's minor versions, but check at https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
#
# ref: https://github.com/rapidsai/cudf/pull/20873
- matrix:
cuda: "13.*"
cuda: "12.9"
use_cuda_wheels: "true"
packages:
- cuda-toolkit[cublas,cufft,curand,cusolver,cusparse,nvjitlink]==13.*
# if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels
# (e.g. for DLFW and pip devcontainers)
- cuda-toolkit[cublas,cufft,curand,cusolver,cusparse]==12.*
- nvidia-nvjitlink-cu12>=12.9,<13
- matrix:
use_cuda_wheels: "false"
cuda: "13.*"
use_cuda_wheels: "true"
packages:
# if no matching matrix selectors passed, list the unsuffixed packages
- &ctk_cu13 cuda-toolkit[cublas,cufft,curand,cusolver,cusparse]==13.*
- &nvjitlink_cu13 nvidia-nvjitlink>=13.0,<14
# if no matching matrix selectors passed, list the CUDA 13 requirement
# (just as a source of documentation, as this populates pyproject.toml in source control)
- matrix:
packages:
- cuda-toolkit[cublas,cufft,curand,cusolver,cusparse,nvjitlink]>=12,<14
- *ctk_cu13
- *nvjitlink_cu13
docs:
common:
- output_types: [conda, requirements]
Expand Down
2 changes: 1 addition & 1 deletion docs/source/FIL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ FIL is ideal for many scenarios:
API Reference
=============

See the :doc:`API reference <api>` for the API documentation.
See the :doc:`API reference <api/index>` for the API documentation.

Migration Guide
===============
Expand Down
26 changes: 26 additions & 0 deletions docs/source/_templates/autosummary/base.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{{ objname | escape | underline(line="=") }}

{% if objtype == "module" -%}

.. automodule:: {{ fullname }}

{%- elif objtype == "function" -%}

.. currentmodule:: {{ module }}

.. autofunction:: {{ objname }}

{%- elif objtype == "class" -%}

.. currentmodule:: {{ module }}

.. autoclass:: {{ objname }}
:members:

{%- else -%}

.. currentmodule:: {{ module }}

.. auto{{ objtype }}:: {{ objname }}

{%- endif -%}
Loading
Loading