From bc2c897336f2c987ff101a62ce3e7a9cfe705a21 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 24 Jul 2024 21:44:09 -0500 Subject: [PATCH] split up CUDA-suffixed dependencies in dependencies.yaml (#411) Contributes to https://github.com/rapidsai/build-planning/issues/31 In short, RAPIDS DLFW builds want to produce wheels with unsuffixed dependencies, e.g. `cudf` depending on `rmm`, not `rmm-cu12`. This PR is part of a series across all of RAPIDS to try to support that type of build by setting up CUDA-suffixed and CUDA-unsuffixed dependency lists in `dependencies.yaml`. For more details, see: * https://github.com/rapidsai/build-planning/issues/31#issuecomment-2245815818 * https://github.com/rapidsai/cudf/pull/16183 ## Notes for Reviewers ### Why target 24.08? This is targeting 24.08 because: 1. it should be very low-risk 2. getting these changes into 24.08 prevents the need to carry around patches for every library in DLFW builds using RAPIDS 24.08 Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Vyas Ramasubramani (https://github.com/vyasr) URL: https://github.com/rapidsai/kvikio/pull/411 --- ci/release/update-version.sh | 12 ++++++++++++ dependencies.yaml | 8 ++++++-- python/kvikio/pyproject.toml | 1 + python/libkvikio/pyproject.toml | 1 + 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index c3042dc06b..8c624c5d66 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -36,6 +36,18 @@ function sed_runner() { # Centralized version file update echo "${NEXT_FULL_TAG}" > VERSION +DEPENDENCIES=( + libkvikio +) +for DEP in "${DEPENDENCIES[@]}"; do + for FILE in dependencies.yaml conda/environments/*.yaml; do + sed_runner "/-.* ${DEP}\(-cu[[:digit:]]\{2\}\)\{0,1\}==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}.*,>=0.0.0a0/g" "${FILE}" + done + for FILE in python/*/pyproject.toml; do + sed_runner "/\"${DEP}==/ s/==.*\"/==${NEXT_SHORT_TAG_PEP440}.*,>=0.0.0a0\"/g" ${FILE} + done +done + # CI files for FILE in .github/workflows/*.yaml; do sed_runner "/shared-workflows/ s/@.*/@branch-${NEXT_SHORT_TAG}/g" "${FILE}" diff --git a/dependencies.yaml b/dependencies.yaml index 840676e714..16f059de19 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -143,10 +143,14 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - libkvikio-cu12==24.8.*,>=0.0.0a0 - - matrix: {cuda: "11.*"} + - matrix: + cuda: "11.*" + cuda_suffixed: "true" packages: - libkvikio-cu11==24.8.*,>=0.0.0a0 - {matrix: null, packages: *libkvikio_packages} diff --git a/python/kvikio/pyproject.toml b/python/kvikio/pyproject.toml index b56a9ab4fd..824641964d 100644 --- a/python/kvikio/pyproject.toml +++ b/python/kvikio/pyproject.toml @@ -110,6 +110,7 @@ nvcomp_batch = "kvikio.nvcomp_codec:NvCompBatchCodec" [tool.rapids-build-backend] build-backend = "scikit_build_core.build" dependencies-file = "../../dependencies.yaml" +matrix-entry = "cuda_suffixed=true" requires = [ "cmake>=3.26.4,!=3.30.0", "cython>=3.0.0", diff --git a/python/libkvikio/pyproject.toml b/python/libkvikio/pyproject.toml index d924694f3e..b40b42dbbd 100644 --- a/python/libkvikio/pyproject.toml +++ b/python/libkvikio/pyproject.toml @@ -49,6 +49,7 @@ regex = "(?P.*)" [tool.rapids-build-backend] build-backend = "scikit_build_core.build" dependencies-file = "../../dependencies.yaml" +matrix-entry = "cuda_suffixed=true" requires = [ "cmake>=3.26.4,!=3.30.0", "ninja",