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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,12 @@ _skbuild/
junit-*.xml


## files pickled in notebook when ran during python docstring generation
## files generated by notebooks during docs builds
docs/source/*.model
docs/source/*.pkl
docs/source/*.tl
docs/source/*.joblib
docs/source/**/*.onnx

## autosummary-generated API reference stubs
docs/source/api/generated/
Expand Down
7 changes: 4 additions & 3 deletions ci/build_wheel_cuml.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,17 @@ LIBCUML_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcuml_${RAPIDS_PY_CUDA_SUFFIX}" rap
echo "libcuml-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo "${LIBCUML_WHEELHOUSE}"/libcuml_*.whl)" >> "${PIP_CONSTRAINT}"

EXCLUDE_ARGS=(
--exclude "libcuml.so"
--exclude "libcuvs.so"
--exclude "libraft.so"
--exclude "libcublas.so.*"
--exclude "libcublasLt.so.*"
--exclude "libcufft.so.*"
--exclude "libcuml.so"
--exclude "libcurand.so.*"
--exclude "libcusolver.so.*"
--exclude "libcusparse.so.*"
--exclude "libcuvs.so"
--exclude "libnvforest++.so"
--exclude "libnvJitLink.so.*"
--exclude "libraft.so"
--exclude "librapids_logger.so"
--exclude "librmm.so"
)
Expand Down
5 changes: 3 additions & 2 deletions ci/build_wheel_libcuml.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,18 @@ rapids-pip-retry install \
export PIP_NO_BUILD_ISOLATION=0

EXCLUDE_ARGS=(
--exclude "libraft.so"
--exclude "libcublas.so.*"
--exclude "libcublasLt.so.*"
--exclude "libcufft.so.*"
--exclude "libcurand.so.*"
--exclude "libcusolver.so.*"
--exclude "libcusparse.so.*"
--exclude "libnccl.so.*"
--exclude "libnvforest++.so"
--exclude "libnvJitLink.so.*"
--exclude "libraft.so"
--exclude "librapids_logger.so"
--exclude "librmm.so"
--exclude "libnccl.so.*"
)

export SKBUILD_CMAKE_ARGS="-DDISABLE_DEPRECATION_WARNINGS=ON;-DCUML_USE_CUVS_STATIC=ON"
Expand Down
4 changes: 3 additions & 1 deletion ci/release/update-version.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright (c) 2019-2025, NVIDIA CORPORATION.
# SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0
########################
# cuML Version Updater #
Expand Down Expand Up @@ -106,9 +106,11 @@ DEPENDENCIES=(
libcuml
libcuml-tests
libcuvs
libnvforest
libraft-headers
libraft
librmm
nvforest
pylibraft
raft-dask
rapids-dask-dependency
Expand Down
4 changes: 3 additions & 1 deletion conda/environments/all_cuda-129_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ dependencies:
- libcusolver-dev
- libcusparse-dev
- libcuvs==26.6.*,>=0.0.0a0
- libnvforest==26.6.*,>=0.0.0a0
- libopenblas<=0.3.30
- libraft==26.6.*,>=0.0.0a0
- librmm==26.6.*,>=0.0.0a0
Expand All @@ -47,9 +48,10 @@ dependencies:
- nltk
- numba-cuda>=0.22.2,<0.29.0
- numba>=0.60.0,<0.65.0
- numpy>=1.23,<3.0
- numpy>=1.26,<3.0
- numpydoc
- numpydoc<1.9
- nvforest==26.6.*,>=0.0.0a0
- nvidia-ml-py>=12
- onnxruntime
- packaging
Expand Down
4 changes: 3 additions & 1 deletion conda/environments/all_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ dependencies:
- libcusolver-dev
- libcusparse-dev
- libcuvs==26.6.*,>=0.0.0a0
- libnvforest==26.6.*,>=0.0.0a0
- libraft==26.6.*,>=0.0.0a0
- librmm==26.6.*,>=0.0.0a0
- lightgbm
Expand All @@ -46,9 +47,10 @@ dependencies:
- nltk
- numba-cuda>=0.22.2,<0.29.0
- numba>=0.60.0,<0.65.0
- numpy>=1.23,<3.0
- numpy>=1.26,<3.0
- numpydoc
- numpydoc<1.9
- nvforest==26.6.*,>=0.0.0a0
- nvidia-ml-py>=12
- onnxruntime
- packaging
Expand Down
4 changes: 3 additions & 1 deletion conda/environments/all_cuda-132_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ dependencies:
- libcusolver-dev
- libcusparse-dev
- libcuvs==26.6.*,>=0.0.0a0
- libnvforest==26.6.*,>=0.0.0a0
- libopenblas<=0.3.30
- libraft==26.6.*,>=0.0.0a0
- librmm==26.6.*,>=0.0.0a0
Expand All @@ -47,9 +48,10 @@ dependencies:
- nltk
- numba-cuda>=0.22.2,<0.29.0
- numba>=0.60.0,<0.65.0
- numpy>=1.23,<3.0
- numpy>=1.26,<3.0
- numpydoc
- numpydoc<1.9
- nvforest==26.6.*,>=0.0.0a0
- nvidia-ml-py>=12
- onnxruntime
- packaging
Expand Down
4 changes: 3 additions & 1 deletion conda/environments/all_cuda-132_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ dependencies:
- libcusolver-dev
- libcusparse-dev
- libcuvs==26.6.*,>=0.0.0a0
- libnvforest==26.6.*,>=0.0.0a0
- libraft==26.6.*,>=0.0.0a0
- librmm==26.6.*,>=0.0.0a0
- lightgbm
Expand All @@ -46,9 +47,10 @@ dependencies:
- nltk
- numba-cuda>=0.22.2,<0.29.0
- numba>=0.60.0,<0.65.0
- numpy>=1.23,<3.0
- numpy>=1.26,<3.0
- numpydoc
- numpydoc<1.9
- nvforest==26.6.*,>=0.0.0a0
- nvidia-ml-py>=12
- onnxruntime
- packaging
Expand Down
1 change: 1 addition & 0 deletions conda/environments/clang_tidy_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ dependencies:
- libcusolver-dev
- libcusparse-dev
- libcuvs==26.6.*,>=0.0.0a0
- libnvforest==26.6.*,>=0.0.0a0
- libraft-headers==26.6.*,>=0.0.0a0
- librmm==26.6.*,>=0.0.0a0
- llvm-openmp==20.1.8
Expand Down
1 change: 1 addition & 0 deletions conda/environments/clang_tidy_cuda-132_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ dependencies:
- libcusolver-dev
- libcusparse-dev
- libcuvs==26.6.*,>=0.0.0a0
- libnvforest==26.6.*,>=0.0.0a0
- libraft-headers==26.6.*,>=0.0.0a0
- librmm==26.6.*,>=0.0.0a0
- llvm-openmp==20.1.8
Expand Down
1 change: 1 addition & 0 deletions conda/environments/cpp_all_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ dependencies:
- libcusolver-dev
- libcusparse-dev
- libcuvs==26.6.*,>=0.0.0a0
- libnvforest==26.6.*,>=0.0.0a0
- libraft-headers==26.6.*,>=0.0.0a0
- librmm==26.6.*,>=0.0.0a0
- ninja
Expand Down
1 change: 1 addition & 0 deletions conda/environments/cpp_all_cuda-132_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ dependencies:
- libcusolver-dev
- libcusparse-dev
- libcuvs==26.6.*,>=0.0.0a0
- libnvforest==26.6.*,>=0.0.0a0
- libraft-headers==26.6.*,>=0.0.0a0
- librmm==26.6.*,>=0.0.0a0
- ninja
Expand Down
4 changes: 3 additions & 1 deletion conda/recipes/cuml/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ requirements:
- cudf =${{ minor_version }}
- cython >=3.2.2
- libcuml =${{ version }}
- nvforest =${{ minor_version }}
- pip
- pylibraft =${{ minor_version }}
- python =${{ py_abi_min }}
Expand All @@ -100,7 +101,8 @@ requirements:
- libcuml =${{ version }}
- numba >=0.60.0,<0.65.0
- numba-cuda >=0.22.2,<0.29.0
- numpy >=1.23,<3.0
- numpy >=1.26,<3.0
- nvforest =${{ minor_version }}
- scikit-learn >=1.4
- scipy >=1.14.0
- packaging
Expand Down
2 changes: 2 additions & 0 deletions conda/recipes/libcuml/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ outputs:
- cuda-version =${{ cuda_version }}
- rapids-logger =0.2
- libcuvs =${{ minor_version }}
- libnvforest =${{ minor_version }}
- librmm =${{ minor_version }}
- treelite ${{ treelite_version }}
- cuda-cudart-dev
Expand All @@ -122,6 +123,7 @@ outputs:
- libcusolver
- libcusparse
- libcuvs =${{ minor_version }}
- libnvforest =${{ minor_version }}
- librmm =${{ minor_version }}
- rapids-logger =0.2
- treelite ${{ treelite_version }}
Expand Down
49 changes: 13 additions & 36 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,12 @@ option(CUML_COMPILE_DYNAMIC_ONLY "Only build the shared library and skip the sta
# dependent library.
option(CUML_EXCLUDE_RAFT_FROM_ALL "Exclude RAFT targets from cuML's 'all' target" OFF)
option(CUML_EXCLUDE_TREELITE_FROM_ALL "Exclude Treelite targets from cuML's 'all' target" OFF)
option(CUML_EXCLUDE_NVFOREST_FROM_ALL "Exclude nvForest targets from cuML's 'all' target" OFF)
option(CUML_RAFT_CLONE_ON_PIN "Explicitly clone RAFT branch when pinned to non-feature branch" ON)
option(CUML_CUVS_CLONE_ON_PIN "Explicitly clone CUVS branch when pinned to non-feature branch" ON)
option(CUML_NVFOREST_CLONE_ON_PIN
"Explicitly clone nvForest branch when pinned to non-feature branch" ON
)

message(VERBOSE "CUML_CPP: Building libcuml shared library: ${BUILD_CUML_CPP_LIBRARY}")
message(VERBOSE "CUML_CPP: Building cuML algorithm tests: ${BUILD_CUML_TESTS}")
Expand Down Expand Up @@ -270,6 +274,11 @@ if(LINK_TREELITE)
include(cmake/thirdparty/get_treelite.cmake)
endif()

if(LINK_NVFOREST)
include(cmake/thirdparty/get_nvforest.cmake)
set(CUML_NVFOREST_TARGET nvforest::nvforest++)
endif()

if(all_algo OR treeshap_algo)
include(cmake/thirdparty/get_gputreeshap.cmake)
endif()
Expand Down Expand Up @@ -367,42 +376,6 @@ if(BUILD_CUML_CPP_LIBRARY)
target_sources(cuml_objs PRIVATE src/explainer/tree_shap.cu)
endif()

# FIL components
if(all_algo OR fil_algo)
if(CUML_ENABLE_GPU)
target_sources(
cuml_objs
PRIVATE src/fil/infer0.cu
src/fil/infer1.cu
src/fil/infer2.cu
src/fil/infer3.cu
src/fil/infer4.cu
src/fil/infer5.cu
src/fil/infer6.cu
src/fil/infer7.cu
src/fil/infer8.cu
src/fil/infer9.cu
src/fil/infer10.cu
src/fil/infer11.cu
)
endif()
target_sources(
cuml_objs
PRIVATE src/fil/infer0.cpp
src/fil/infer1.cpp
src/fil/infer2.cpp
src/fil/infer3.cpp
src/fil/infer4.cpp
src/fil/infer5.cpp
src/fil/infer6.cpp
src/fil/infer7.cpp
src/fil/infer8.cpp
src/fil/infer9.cpp
src/fil/infer10.cpp
src/fil/infer11.cpp
)
endif()

# todo: organize linear models better
if(all_algo
OR linearregression_algo
Expand Down Expand Up @@ -596,6 +569,10 @@ if(BUILD_CUML_CPP_LIBRARY)
copy_interface_excludes(INCLUDED_TARGET treelite::treelite_static TARGET cuml_objs)
endif()

if(LINK_NVFOREST)
list(APPEND _cuml_cpp_public_libs ${CUML_NVFOREST_TARGET})
endif()

# These are always private:
list(
APPEND
Expand Down
3 changes: 1 addition & 2 deletions cpp/bench/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# =============================================================================
# cmake-format: off
# SPDX-FileCopyrightText: Copyright (c) 2019-2025, NVIDIA CORPORATION.
# SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION.
# SPDX-License-Identifier: Apache-2.0
# cmake-format: on
# =============================================================================
Expand All @@ -24,7 +24,6 @@ if(BUILD_CUML_BENCH)
sg/svc.cu
sg/svr.cu
sg/umap.cu
sg/fil.cu
)
if(CUML_ENABLE_GPU)
target_compile_definitions(${CUML_CPP_BENCH_TARGET} PUBLIC CUML_ENABLE_GPU)
Expand Down
Loading
Loading