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
8 changes: 4 additions & 4 deletions .devcontainer/cuda12.9-pip/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
"features": {
"ghcr.io/rapidsai/devcontainers/features/cuda:26.4": {
"version": "12.9",
"installcuBLAS": true,
"installcuSOLVER": true,
"installcuRAND": true,
"installcuSPARSE": true
"installcuBLAS": false,
"installcuSOLVER": false,
"installcuRAND": false,
"installcuSPARSE": false
},
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.4": {}
},
Expand Down
8 changes: 4 additions & 4 deletions .devcontainer/cuda13.1-pip/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
"features": {
"ghcr.io/rapidsai/devcontainers/features/cuda:26.4": {
"version": "13.1",
"installcuBLAS": true,
"installcuSOLVER": true,
"installcuRAND": true,
"installcuSPARSE": true
"installcuBLAS": false,
"installcuSOLVER": false,
"installcuRAND": false,
"installcuSPARSE": false
},
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.4": {}
},
Expand Down
16 changes: 8 additions & 8 deletions ci/test_wheel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ 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
rapids-pip-retry install \
--prefer-binary \
--constraint "${PIP_CONSTRAINT}" \
"${LIBNVFOREST_WHEELHOUSE}"/libnvforest*.whl \
"${NVFOREST_WHEELHOUSE}"/nvforest*.whl \
--constraint ./constraints.txt \
--constraint "${PIP_CONSTRAINT}"
"${NVFOREST_WHEELHOUSE}"/nvforest*.whl

# Try to import nvforest with just a minimal install"
rapids-logger "Importing nvforest with minimal dependencies"
Expand All @@ -34,10 +34,10 @@ python -c "import nvforest"
# ignored if any other --constraint are passed via the CLI
#
rapids-pip-retry install \
"${LIBNVFOREST_WHEELHOUSE}"/libnvforest*.whl \
"$(echo "${NVFOREST_WHEELHOUSE}"/nvforest*.whl)[test]" \
--constraint ./constraints.txt \
--constraint "${PIP_CONSTRAINT}"
--prefer-binary \
--constraint "${PIP_CONSTRAINT}" \
"${LIBNVFOREST_WHEELHOUSE}"/libnvforest*.whl \
"$(echo "${NVFOREST_WHEELHOUSE}"/nvforest*.whl)[test]"

EXITCODE=0
trap "EXITCODE=1" ERR
Expand Down
5 changes: 0 additions & 5 deletions conda/environments/all_cuda-129_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,6 @@ dependencies:
- doxygen
- gcc_linux-aarch64=14.*
- graphviz
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft==26.4.*,>=0.0.0a0
- librmm==26.4.*,>=0.0.0a0
- ninja
Expand Down
5 changes: 0 additions & 5 deletions conda/environments/all_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,6 @@ dependencies:
- doxygen
- gcc_linux-64=14.*
- graphviz
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft==26.4.*,>=0.0.0a0
- librmm==26.4.*,>=0.0.0a0
- ninja
Expand Down
5 changes: 0 additions & 5 deletions conda/environments/all_cuda-131_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,6 @@ dependencies:
- doxygen
- gcc_linux-aarch64=14.*
- graphviz
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft==26.4.*,>=0.0.0a0
- librmm==26.4.*,>=0.0.0a0
- ninja
Expand Down
5 changes: 0 additions & 5 deletions conda/environments/all_cuda-131_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,6 @@ dependencies:
- doxygen
- gcc_linux-64=14.*
- graphviz
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft==26.4.*,>=0.0.0a0
- librmm==26.4.*,>=0.0.0a0
- ninja
Expand Down
5 changes: 0 additions & 5 deletions conda/environments/clang_tidy_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,6 @@ dependencies:
- cuda-version=12.9
- cxx-compiler
- gcc_linux-64=14.*
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft-headers==26.4.*,>=0.0.0a0
- librmm==26.4.*,>=0.0.0a0
- llvm-openmp==15.0.7
Expand Down
5 changes: 0 additions & 5 deletions conda/environments/clang_tidy_cuda-131_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,6 @@ dependencies:
- cuda-version=13.1
- cxx-compiler
- gcc_linux-64=14.*
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft-headers==26.4.*,>=0.0.0a0
- librmm==26.4.*,>=0.0.0a0
- llvm-openmp==15.0.7
Expand Down
5 changes: 0 additions & 5 deletions conda/environments/cpp_all_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@ dependencies:
- cuda-version=12.9
- cxx-compiler
- gcc_linux-64=14.*
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft-headers==26.4.*,>=0.0.0a0
- librmm==26.4.*,>=0.0.0a0
- ninja
Expand Down
5 changes: 0 additions & 5 deletions conda/environments/cpp_all_cuda-131_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@ dependencies:
- cuda-version=13.1
- cxx-compiler
- gcc_linux-64=14.*
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- libraft-headers==26.4.*,>=0.0.0a0
- librmm==26.4.*,>=0.0.0a0
- ninja
Expand Down
24 changes: 0 additions & 24 deletions conda/recipes/libnvforest/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,6 @@ cache:
- rapids-logger =0.2
- treelite ${{ treelite_version }}
- cuda-cudart-dev
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev

outputs:
- package:
Expand All @@ -107,31 +102,17 @@ outputs:
- librmm =${{ minor_version }}
- treelite ${{ treelite_version }}
- cuda-cudart-dev
- libcublas
- libcufft
- libcurand
- libcusolver
- libcusparse
run:
- ${{ pin_compatible("cuda-version", upper_bound="x", lower_bound="x") }}
- cuda-cudart
- libcublas
- libcufft
- libcurand
- libcusolver
- libcusparse
- librmm =${{ minor_version }}
- rapids-logger =0.2
- treelite ${{ treelite_version }}
ignore_run_exports:
by_name:
- cuda-cudart
- cuda-version
- libcurand
- librmm
- libcusparse
- libcufft
- libcublas
- libcusolver
about:
homepage: ${{ load_from_file("python/libnvforest/pyproject.toml").project.urls.Homepage }}
Expand Down Expand Up @@ -163,11 +144,6 @@ outputs:
by_name:
- cuda-cudart
- cuda-version
- libcublas
- libcufft
- libcurand
- libcusolver
- libcusparse
- librmm
about:
homepage: ${{ load_from_file("python/libnvforest/pyproject.toml").project.urls.Homepage }}
Expand Down
12 changes: 1 addition & 11 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -141,13 +141,6 @@ endif()
# ######################################################################################################################
# * compiler options ---------------------------------------------------------

set(_ctk_static_suffix "")
set(_ctk_fft_static_suffix "")
if(CUDA_STATIC_MATH_LIBRARIES)
set(_ctk_static_suffix "_static")
set(_ctk_fft_static_suffix "_static_nocallback")
endif()

if(NOT DISABLE_OPENMP)
find_package(OpenMP)
if(OpenMP_FOUND)
Expand Down Expand Up @@ -273,10 +266,7 @@ set_target_properties(
POSITION_INDEPENDENT_CODE ON
INTERFACE_POSITION_INDEPENDENT_CODE ON)

target_compile_definitions(
${NVFOREST_CPP_TARGET}
PUBLIC DISABLE_CUSPARSE_DEPRECATED
PRIVATE NVFOREST_CPP_API)
target_compile_definitions(${NVFOREST_CPP_TARGET} PRIVATE NVFOREST_CPP_API)

target_compile_options(${NVFOREST_CPP_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${NVFOREST_CXX_FLAGS}>"
"$<$<COMPILE_LANGUAGE:CUDA>:${NVFOREST_CUDA_FLAGS}>")
Expand Down
68 changes: 42 additions & 26 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,6 @@ files:
extras:
table: project
includes:
- cuda_wheels
- depends_on_cuda_python
- depends_on_cupy
- depends_on_libnvforest
Expand Down Expand Up @@ -162,7 +161,6 @@ files:
extras:
table: project
includes:
- cuda_wheels
- depends_on_libraft
- depends_on_librmm
- depends_on_rapids_logger
Expand Down Expand Up @@ -243,6 +241,8 @@ dependencies:
- packaging
- &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 @@ -271,41 +271,57 @@ dependencies:
cuda: "13.1"
packages:
- cuda-version=13.1
cuda:
common:
- output_types: [conda]
packages:
- cuda-cudart-dev
- cuda-profiler-api
- libcublas-dev
- libcufft-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
cuda_wheels:
specific:
- output_types: [requirements, pyproject]
- 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:
cuda: "12.*"
use_cuda_wheels: "false"
packages:
- matrix:
arch: aarch64
cuda: "12.2"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==12.*
# 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: "13.*"
cuda: "12.2"
use_cuda_wheels: "true"
packages:
- cuda-toolkit==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==12.2.*
- matrix:
use_cuda_wheels: "false"
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:
# if no matching matrix selectors passed, list the unsuffixed packages
# (just as a source of documentation, as this populates pyproject.toml in source control)
- cuda-toolkit==13.0.*
- matrix:
cuda: "13.1"
use_cuda_wheels: "true"
packages:
- cuda-toolkit>=12,<14
- cuda-toolkit==13.1.*
cuda:
common:
- output_types: [conda]
packages:
- cuda-cudart-dev
- cuda-profiler-api
docs:
common:
- output_types: [conda, requirements]
Expand Down
12 changes: 0 additions & 12 deletions python/libnvforest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,21 +44,9 @@ set(NVFOREST_EXCLUDE_TREELITE_FROM_ALL ON)

# --- CUDA --- #
set(CUDA_STATIC_RUNTIME ON)
set(CUDA_STATIC_MATH_LIBRARIES OFF)

add_subdirectory(../../cpp nvforest-cpp)

# assumes libnvforest++ is installed 2 levels deep, e.g. site-packages/nvforest/lib64/libnvforest++.so
if(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)
# starting with CTK 13 wheels, all libraries except NCCL are grouped in this 'nvidia/cu13/lib' directory
set(rpaths "$ORIGIN/../../nvidia/cu13/lib")
else()
set(rpaths
"$ORIGIN/../../nvidia/cublas/lib" "$ORIGIN/../../nvidia/cufft/lib" "$ORIGIN/../../nvidia/curand/lib"
"$ORIGIN/../../nvidia/cusolver/lib" "$ORIGIN/../../nvidia/cusparse/lib" "$ORIGIN/../../nvidia/nvjitlink/lib")
endif()
list(APPEND rpaths "$ORIGIN/../../nvidia/nccl/lib")

set_property(
TARGET ${NVFOREST_CPP_TARGET}
PROPERTY INSTALL_RPATH ${rpaths}
Expand Down
1 change: 0 additions & 1 deletion python/libnvforest/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ classifiers = [
"Environment :: GPU :: NVIDIA CUDA",
]
dependencies = [
"cuda-toolkit>=12,<14",
"libraft==26.4.*,>=0.0.0a0",
"librmm==26.4.*,>=0.0.0a0",
"rapids-logger==0.2.*,>=0.0.0a0",
Expand Down
1 change: 0 additions & 1 deletion python/nvforest/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ license = "Apache-2.0"
requires-python = ">=3.11"
dependencies = [
"cuda-python>=13.0.1,<14.0a0",
"cuda-toolkit>=12,<14",
"cupy-cuda13x>=13.6.0",
"libnvforest==26.4.*,>=0.0.0a0",
"numpy>=1.23,<3.0a0",
Expand Down
Loading