Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 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
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