diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index eac581ccef..8a5c6e3c74 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022-2023, NVIDIA CORPORATION. +# Copyright (c) 2022-2024, NVIDIA CORPORATION. set -euo pipefail @@ -13,10 +13,16 @@ export CMAKE_GENERATOR=Ninja rapids-print-env +LIBRMM_CHANNEL=$(rapids-get-pr-conda-artifact rmm 1544 cpp) +LIBRAFT_CHANNEL=$(rapids-get-pr-conda-artifact raft 2279 cpp) + version=$(rapids-generate-version) rapids-logger "Begin cpp build" -RAPIDS_PACKAGE_VERSION=${version} rapids-conda-retry mambabuild conda/recipes/libcuml +RAPIDS_PACKAGE_VERSION=${version} rapids-conda-retry mambabuild \ + --channel "${LIBRMM_CHANNEL}" \ + --channel "${LIBRAFT_CHANNEL}" \ + conda/recipes/libcuml rapids-upload-conda-to-s3 cpp diff --git a/ci/build_python.sh b/ci/build_python.sh index fcf0f7fe26..465392a3bb 100755 --- a/ci/build_python.sh +++ b/ci/build_python.sh @@ -1,5 +1,7 @@ #!/bin/bash -# Copyright (c) 2022-2023, NVIDIA CORPORATION. +# Copyright (c) 2022-2024, NVIDIA CORPORATION. + +# https://github.com/rapidsai/cuml/pull/5640/files set -euo pipefail @@ -26,12 +28,25 @@ sed -i "/^__git_commit__/ s/= .*/= \"${git_commit}\"/g" "${package_dir}/${packag rapids-logger "Begin py build" CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp) +LIBRMM_CHANNEL=$(rapids-get-pr-conda-artifact rmm 1544 cpp) +RMM_CHANNEL=$(rapids-get-pr-conda-artifact rmm 1544 python) +LIBRAFT_CHANNEL=$(rapids-get-pr-conda-artifact raft 2279 cpp) +RAFT_CHANNEL=$(rapids-get-pr-conda-artifact raft 2279 python) +LIBCUDF_CHANNEL=$(rapids-get-pr-conda-artifact cudf 15603 cpp) +CUDF_CHANNEL=$(rapids-get-pr-conda-artifact cudf 15603 python) + # TODO: Remove `--no-test` flag once importing on a CPU # node works correctly rapids-conda-retry mambabuild \ --no-test \ --channel "${CPP_CHANNEL}" \ + --channel "${LIBRMM_CHANNEL}" \ + --channel "${RMM_CHANNEL}" \ + --channel "${LIBRAFT_CHANNEL}" \ + --channel "${RAFT_CHANNEL}" \ + --channel "${LIBCUDF_CHANNEL}" \ + --channel "${CUDF_CHANNEL}" \ conda/recipes/cuml # Build cuml-cpu only in CUDA 11 jobs since it only depends on python diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index 02cd1467d1..55d9e4d3cf 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -10,13 +10,15 @@ cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../ rapids-logger "Downloading artifacts from previous jobs" CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp) +LIBRMM_CHANNEL=$(rapids-get-pr-conda-artifact rmm 1544 cpp) +LIBRAFT_CHANNEL=$(rapids-get-pr-conda-artifact raft 2279 cpp) rapids-logger "Generate C++ testing dependencies" rapids-dependency-file-generator \ --output conda \ --file_key test_cpp \ --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch)" \ - --prepend-channels "${CPP_CHANNEL}" | tee env.yaml + --prepend-channels "${CPP_CHANNEL};${LIBRMM_CHANNEL};${LIBRAFT_CHANNEL}" | tee env.yaml rapids-mamba-retry env create --yes -f env.yaml -n test diff --git a/ci/test_python_common.sh b/ci/test_python_common.sh index f3277a0c78..cba0ccb7d9 100644 --- a/ci/test_python_common.sh +++ b/ci/test_python_common.sh @@ -8,13 +8,19 @@ set -euo pipefail rapids-logger "Downloading artifacts from previous jobs" CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp) PYTHON_CHANNEL=$(rapids-download-conda-from-s3 python) +LIBRMM_CHANNEL=$(rapids-get-pr-conda-artifact rmm 1544 cpp) +RMM_CHANNEL=$(rapids-get-pr-conda-artifact rmm 1544 python) +LIBRAFT_CHANNEL=$(rapids-get-pr-conda-artifact raft 2279 cpp) +RAFT_CHANNEL=$(rapids-get-pr-conda-artifact raft 2279 python) +LIBCUDF_CHANNEL=$(rapids-get-pr-conda-artifact cudf 15603 cpp) +CUDF_CHANNEL=$(rapids-get-pr-conda-artifact cudf 15603 python) rapids-logger "Generate Python testing dependencies" rapids-dependency-file-generator \ --output conda \ --file_key test_python \ --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" \ - --prepend-channels "${CPP_CHANNEL};${PYTHON_CHANNEL}" | tee env.yaml + --prepend-channels "${CPP_CHANNEL};${PYTHON_CHANNEL};${LIBRMM_CHANNEL};${RMM_CHANNEL};${LIBRAFT_CHANNEL};${LIBCUDF_CHANNEL};${CUDF_CHANNEL}" | tee env.yaml rapids-mamba-retry env create --yes -f env.yaml -n test diff --git a/conda/recipes/libcuml/conda_build_config.yaml b/conda/recipes/libcuml/conda_build_config.yaml index db0a8a16c8..764d0183ee 100644 --- a/conda/recipes/libcuml/conda_build_config.yaml +++ b/conda/recipes/libcuml/conda_build_config.yaml @@ -19,6 +19,9 @@ c_stdlib_version: cmake_version: - ">=3.26.4" +spdlog_version: + - ">=1.13.0,<1.14" + treelite_version: - "=4.1.2" diff --git a/rapids_config.cmake b/rapids_config.cmake index f064a5b497..767edfa708 100644 --- a/rapids_config.cmake +++ b/rapids_config.cmake @@ -27,6 +27,11 @@ else() endif() if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/CUML_RAPIDS-${RAPIDS_VERSION_MAJOR_MINOR}.cmake") + include(FetchContent) + FetchContent_Declare( + rapids-cmake + GIT_REPOSITORY https://github.com/jameslamb/rapids-cmake.git + GIT_TAG fmt-version) file( DOWNLOAD "https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-${RAPIDS_VERSION_MAJOR_MINOR}/RAPIDS.cmake"