Skip to content

Commit

Permalink
refactor CUDA versions in dependencies.yaml (#2086)
Browse files Browse the repository at this point in the history
Contributes to rapidsai/build-planning#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: #2086
  • Loading branch information
jameslamb authored Jan 11, 2024
1 parent 26d310b commit 93a504e
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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"]
Expand Down
48 changes: 34 additions & 14 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ files:
includes:
- build
- build_pylibraft
- cudatoolkit
- cuda
- cuda_version
- develop
- checks
- build_wheels
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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}
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 93a504e

Please sign in to comment.