From 93a504e00229c89c5b61814bdc24de09afe26534 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 11 Jan 2024 11:21:21 -0600 Subject: [PATCH] refactor CUDA versions in dependencies.yaml (#2086) Contributes to https://github.com/rapidsai/build-planning/issues/7. Proposes splitting the `cuda-version` dependency in `dependencies.yaml` out to its own thing, separate from the bits of the CUDA Toolkit this project needs. ### Benefits of this change * prevents accidental inclusion of multiple `cuda-version` version in environments * reduces update effort (via enabling more use of globs like `"12.*"`) * improves the chance that errors like "`conda` recipe is missing a dependency" are caught in CI Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Vyas Ramasubramani (https://github.com/vyasr) - Bradley Dice (https://github.com/bdice) - Ray Douglass (https://github.com/raydouglass) - Corey J. Nolet (https://github.com/cjnolet) URL: https://github.com/rapidsai/raft/pull/2086 --- .pre-commit-config.yaml | 2 +- dependencies.yaml | 48 +++++++++++++++++++++++++++++------------ 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 80ad3614bc..c2e6d9fce4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -101,7 +101,7 @@ repos: args: ["--toml", "pyproject.toml"] exclude: (?x)^(^CHANGELOG.md$) - repo: https://github.com/rapidsai/dependency-file-generator - rev: v1.5.1 + rev: v1.8.0 hooks: - id: rapids-dependency-file-generator args: ["--clean"] diff --git a/dependencies.yaml b/dependencies.yaml index f049c75511..0e4d6d4693 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -8,7 +8,8 @@ files: includes: - build - build_pylibraft - - cudatoolkit + - cuda + - cuda_version - develop - checks - build_wheels @@ -26,19 +27,20 @@ files: arch: [x86_64, aarch64] includes: - build + - cuda + - cuda_version - develop - - cudatoolkit - nn_bench - nn_bench_python test_cpp: output: none includes: - - cudatoolkit + - cuda_version - test_libraft test_python: output: none includes: - - cudatoolkit + - cuda_version - py_version - test_python_common - test_pylibraft @@ -51,11 +53,11 @@ files: docs: output: none includes: - - test_pylibraft + - cuda_version - cupy - - cudatoolkit - docs - py_version + - test_pylibraft py_build_pylibraft: output: pyproject pyproject_dir: python/pylibraft @@ -155,8 +157,8 @@ dependencies: - sysroot_linux-aarch64==2.17 - output_types: conda matrices: - - matrix: {cuda: "12.0"} - packages: [cuda-version=12.0, cuda-nvcc] + - matrix: {cuda: "12.*"} + packages: [cuda-nvcc] - matrix: {cuda: "11.8", arch: x86_64} packages: [nvcc_linux-64=11.8] - matrix: {cuda: "11.8", arch: aarch64} @@ -239,15 +241,37 @@ dependencies: - pandas - pyyaml - pandas - - cudatoolkit: + cuda_version: specific: - output_types: conda matrices: + - matrix: + cuda: "11.2" + packages: + - cuda-version=11.2 + - matrix: + cuda: "11.4" + packages: + - cuda-version=11.4 + - matrix: + cuda: "11.5" + packages: + - cuda-version=11.5 + - matrix: + cuda: "11.8" + packages: + - cuda-version=11.8 - matrix: cuda: "12.0" packages: - cuda-version=12.0 + cuda: + specific: + - output_types: conda + matrices: + - matrix: + cuda: "12.*" + packages: - cuda-nvtx-dev - cuda-cudart-dev - cuda-profiler-api @@ -258,7 +282,6 @@ dependencies: - matrix: cuda: "11.8" packages: - - cuda-version=11.8 - cudatoolkit - cuda-nvtx=11.8 - cuda-profiler-api=11.8.86 @@ -273,7 +296,6 @@ dependencies: - matrix: cuda: "11.5" packages: - - cuda-version=11.5 - cudatoolkit - cuda-nvtx=11.5 - cuda-profiler-api>=11.4.240,<=11.8.86 # use any `11.x` version since pkg is missing several CUDA/arch packages @@ -288,7 +310,6 @@ dependencies: - matrix: cuda: "11.4" packages: - - cuda-version=11.4 - cudatoolkit - &cudanvtx114 cuda-nvtx=11.4 - cuda-profiler-api>=11.4.240,<=11.8.86 # use any `11.x` version since pkg is missing several CUDA/arch packages @@ -303,7 +324,6 @@ dependencies: - matrix: cuda: "11.2" packages: - - cuda-version=11.2 - cudatoolkit - *cudanvtx114 - cuda-profiler-api>=11.4.240,<=11.8.86 # use any `11.x` version since pkg is missing several CUDA/arch packages