Skip to content

Commit

Permalink
handle more RAPIDS version formats in update-version.sh, refactor dep…
Browse files Browse the repository at this point in the history
…endencies.yaml (#4109)

Contributes to rapidsai/build-planning#13.

Updates `update-version.sh` to correctly handle RAPIDS dependencies like `cudf-cu12==24.2.*`.

This also pulls in some dependency refactoring originally added in #4088, which allows greater use of dependencies.yaml globs (and therefore less maintenance effort to support new CUDA versions).

Authors:
  - James Lamb (https://github.com/jameslamb)
  - Brad Rees (https://github.com/BradReesWork)
  - Ray Douglass (https://github.com/raydouglass)
  - Bradley Dice (https://github.com/bdice)

Approvers:
  - Jake Awe (https://github.com/AyodeAwe)
  - Bradley Dice (https://github.com/bdice)
  - Brad Rees (https://github.com/BradReesWork)
  - Rick Ratzel (https://github.com/rlratzel)

URL: #4109
  • Loading branch information
jameslamb authored Feb 8, 2024
1 parent f9e618b commit 9ad7389
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 97 deletions.
11 changes: 5 additions & 6 deletions ci/release/update-version.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# Copyright (c) 2018-2023, NVIDIA CORPORATION.
# Copyright (c) 2018-2024, NVIDIA CORPORATION.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
Expand Down Expand Up @@ -96,13 +96,12 @@ DEPENDENCIES=(
)
for DEP in "${DEPENDENCIES[@]}"; do
for FILE in dependencies.yaml conda/environments/*.yaml python/cugraph-{pyg,dgl}/conda/*.yaml; do
sed_runner "/-.* ${DEP}==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}.*/g" ${FILE}
sed_runner "/-.* ${DEP}-cu[0-9][0-9]==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}.*/g" ${FILE}
sed_runner "/-.* ucx-py==/ s/==.*/==${NEXT_UCX_PY_VERSION}.*/g" ${FILE}
sed_runner "/-.* ${DEP}\(-cu[[:digit:]]\{2\}\)\{0,1\}==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}.*/g" "${FILE}"
sed_runner "/-.* ucx-py==/ s/==.*/==${NEXT_UCX_PY_VERSION}.*/g" "${FILE}"
done
for FILE in python/**/pyproject.toml python/**/**/pyproject.toml; do
sed_runner "/\"${DEP}==/ s/==.*\"/==${NEXT_SHORT_TAG_PEP440}.*\"/g" ${FILE}
sed_runner "/\"ucx-py==/ s/==.*\"/==${NEXT_UCX_PY_VERSION}.*\"/g" ${FILE}
sed_runner "/\"${DEP}\(-cu[[:digit:]]\{2\}\)\{0,1\}==/ s/==.*\"/==${NEXT_SHORT_TAG_PEP440}.*\"/g" "${FILE}"
sed_runner "/\"ucx-py==/ s/==.*\"/==${NEXT_UCX_PY_VERSION}.*\"/g" "${FILE}"
done
done

Expand Down
124 changes: 33 additions & 91 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -567,17 +567,12 @@ dependencies:
specific:
- output_types: [requirements, pyproject]
matrices:
- matrix: {cuda: "12.2"}
packages: &rmm_packages_pip_cu12
- matrix: {cuda: "12.*"}
packages:
- rmm-cu12==24.4.*
- {matrix: {cuda: "12.1"}, packages: *rmm_packages_pip_cu12}
- {matrix: {cuda: "12.0"}, packages: *rmm_packages_pip_cu12}
- matrix: {cuda: "11.8"}
packages: &rmm_packages_pip_cu11
- matrix: {cuda: "11.*"}
packages:
- rmm-cu11==24.4.*
- {matrix: {cuda: "11.5"}, packages: *rmm_packages_pip_cu11}
- {matrix: {cuda: "11.4"}, packages: *rmm_packages_pip_cu11}
- {matrix: {cuda: "11.2"}, packages: *rmm_packages_pip_cu11}
- {matrix: null, packages: [*rmm_conda]}

depends_on_cudf:
Expand All @@ -593,17 +588,12 @@ dependencies:
specific:
- output_types: [requirements, pyproject]
matrices:
- matrix: {cuda: "12.2"}
packages: &cudf_packages_pip_cu12
- matrix: {cuda: "12.*"}
packages:
- cudf-cu12==24.4.*
- {matrix: {cuda: "12.1"}, packages: *cudf_packages_pip_cu12}
- {matrix: {cuda: "12.0"}, packages: *cudf_packages_pip_cu12}
- matrix: {cuda: "11.8"}
packages: &cudf_packages_pip_cu11
- matrix: {cuda: "11.*"}
packages:
- cudf-cu11==24.4.*
- {matrix: {cuda: "11.5"}, packages: *cudf_packages_pip_cu11}
- {matrix: {cuda: "11.4"}, packages: *cudf_packages_pip_cu11}
- {matrix: {cuda: "11.2"}, packages: *cudf_packages_pip_cu11}
- {matrix: null, packages: [*cudf_conda]}

depends_on_dask_cudf:
Expand All @@ -619,17 +609,12 @@ dependencies:
specific:
- output_types: [requirements, pyproject]
matrices:
- matrix: {cuda: "12.2"}
packages: &dask_cudf_packages_pip_cu12
- matrix: {cuda: "12.*"}
packages:
- dask-cudf-cu12==24.4.*
- {matrix: {cuda: "12.1"}, packages: *dask_cudf_packages_pip_cu12}
- {matrix: {cuda: "12.0"}, packages: *dask_cudf_packages_pip_cu12}
- matrix: {cuda: "11.8"}
packages: &dask_cudf_packages_pip_cu11
- matrix: {cuda: "11.*"}
packages:
- dask-cudf-cu11==24.4.*
- {matrix: {cuda: "11.5"}, packages: *dask_cudf_packages_pip_cu11}
- {matrix: {cuda: "11.4"}, packages: *dask_cudf_packages_pip_cu11}
- {matrix: {cuda: "11.2"}, packages: *dask_cudf_packages_pip_cu11}
- {matrix: null, packages: [*dask_cudf_conda]}

depends_on_pylibraft:
Expand All @@ -645,17 +630,12 @@ dependencies:
specific:
- output_types: [requirements, pyproject]
matrices:
- matrix: {cuda: "12.2"}
packages: &pylibraft_packages_pip_cu12
- matrix: {cuda: "12.*"}
packages:
- pylibraft-cu12==24.4.*
- {matrix: {cuda: "12.1"}, packages: *pylibraft_packages_pip_cu12}
- {matrix: {cuda: "12.0"}, packages: *pylibraft_packages_pip_cu12}
- matrix: {cuda: "11.8"}
packages: &pylibraft_packages_pip_cu11
- matrix: {cuda: "11.*"}
packages:
- pylibraft-cu11==24.4.*
- {matrix: {cuda: "11.5"}, packages: *pylibraft_packages_pip_cu11}
- {matrix: {cuda: "11.4"}, packages: *pylibraft_packages_pip_cu11}
- {matrix: {cuda: "11.2"}, packages: *pylibraft_packages_pip_cu11}
- {matrix: null, packages: [*pylibraft_conda]}

depends_on_raft_dask:
Expand All @@ -671,17 +651,12 @@ dependencies:
specific:
- output_types: [requirements, pyproject]
matrices:
- matrix: {cuda: "12.2"}
packages: &raft_dask_packages_pip_cu12
- matrix: {cuda: "12.*"}
packages:
- raft-dask-cu12==24.4.*
- {matrix: {cuda: "12.1"}, packages: *raft_dask_packages_pip_cu12}
- {matrix: {cuda: "12.0"}, packages: *raft_dask_packages_pip_cu12}
- matrix: {cuda: "11.8"}
packages: &raft_dask_packages_pip_cu11
- matrix: {cuda: "11.*"}
packages:
- raft-dask-cu11==24.4.*
- {matrix: {cuda: "11.5"}, packages: *raft_dask_packages_pip_cu11}
- {matrix: {cuda: "11.4"}, packages: *raft_dask_packages_pip_cu11}
- {matrix: {cuda: "11.2"}, packages: *raft_dask_packages_pip_cu11}
- {matrix: null, packages: [*raft_dask_conda]}

depends_on_pylibcugraph:
Expand All @@ -697,17 +672,12 @@ dependencies:
specific:
- output_types: [requirements, pyproject]
matrices:
- matrix: {cuda: "12.2"}
packages: &pylibcugraph_packages_pip_cu12
- matrix: {cuda: "12.*"}
packages:
- pylibcugraph-cu12==24.4.*
- {matrix: {cuda: "12.1"}, packages: *pylibcugraph_packages_pip_cu12}
- {matrix: {cuda: "12.0"}, packages: *pylibcugraph_packages_pip_cu12}
- matrix: {cuda: "11.8"}
packages: &pylibcugraph_packages_pip_cu11
- matrix: {cuda: "11.*"}
packages:
- pylibcugraph-cu11==24.4.*
- {matrix: {cuda: "11.5"}, packages: *pylibcugraph_packages_pip_cu11}
- {matrix: {cuda: "11.4"}, packages: *pylibcugraph_packages_pip_cu11}
- {matrix: {cuda: "11.2"}, packages: *pylibcugraph_packages_pip_cu11}
- {matrix: null, packages: [*pylibcugraph_conda]}

depends_on_pylibcugraphops:
Expand All @@ -723,17 +693,12 @@ dependencies:
specific:
- output_types: [requirements, pyproject]
matrices:
- matrix: {cuda: "12.2"}
packages: &pylibcugraphops_packages_pip_cu12
- matrix: {cuda: "12.*"}
packages:
- pylibcugraphops-cu12==24.4.*
- {matrix: {cuda: "12.1"}, packages: *pylibcugraphops_packages_pip_cu12}
- {matrix: {cuda: "12.0"}, packages: *pylibcugraphops_packages_pip_cu12}
- matrix: {cuda: "11.8"}
packages: &pylibcugraphops_packages_pip_cu11
- matrix: {cuda: "11.*"}
packages:
- pylibcugraphops-cu11==24.4.*
- {matrix: {cuda: "11.5"}, packages: *pylibcugraphops_packages_pip_cu11}
- {matrix: {cuda: "11.4"}, packages: *pylibcugraphops_packages_pip_cu11}
- {matrix: {cuda: "11.2"}, packages: *pylibcugraphops_packages_pip_cu11}
- {matrix: null, packages: [*pylibcugraphops_conda]}

depends_on_cupy:
Expand All @@ -744,33 +709,10 @@ dependencies:
specific:
- output_types: [requirements, pyproject]
matrices:
# All CUDA 12 + x86_64 versions
- matrix: {cuda: "12.2", arch: x86_64}
packages: &cupy_packages_cu12_x86_64
- matrix: {cuda: "12.*"}
packages:
- cupy-cuda12x>=12.0.0
- {matrix: {cuda: "12.1", arch: x86_64}, packages: *cupy_packages_cu12_x86_64}
- {matrix: {cuda: "12.0", arch: x86_64}, packages: *cupy_packages_cu12_x86_64}

# All CUDA 12 + aarch64 versions
- matrix: {cuda: "12.2", arch: aarch64}
packages: &cupy_packages_cu12_aarch64
- cupy-cuda12x -f https://pip.cupy.dev/aarch64 # TODO: Verify that this works.
- {matrix: {cuda: "12.1", arch: aarch64}, packages: *cupy_packages_cu12_aarch64}
- {matrix: {cuda: "12.0", arch: aarch64}, packages: *cupy_packages_cu12_aarch64}

# All CUDA 11 + x86_64 versions
- matrix: {cuda: "11.8", arch: x86_64}
packages: &cupy_packages_cu11_x86_64
- matrix: {cuda: "11.*"}
packages: &cupy_packages_cu11
- cupy-cuda11x>=12.0.0
- {matrix: {cuda: "11.5", arch: x86_64}, packages: *cupy_packages_cu11_x86_64}
- {matrix: {cuda: "11.4", arch: x86_64}, packages: *cupy_packages_cu11_x86_64}
- {matrix: {cuda: "11.2", arch: x86_64}, packages: *cupy_packages_cu11_x86_64}

# All CUDA 11 + aarch64 versions
- matrix: {cuda: "11.8", arch: aarch64}
packages: &cupy_packages_cu11_aarch64
- cupy-cuda11x -f https://pip.cupy.dev/aarch64 # TODO: Verify that this works.
- {matrix: {cuda: "11.5", arch: aarch64}, packages: *cupy_packages_cu11_aarch64}
- {matrix: {cuda: "11.4", arch: aarch64}, packages: *cupy_packages_cu11_aarch64}
- {matrix: {cuda: "11.2", arch: aarch64}, packages: *cupy_packages_cu11_aarch64}
- {matrix: null, packages: [cupy-cuda11x>=12.0.0]}
- {matrix: null, packages: *cupy_packages_cu11}

0 comments on commit 9ad7389

Please sign in to comment.