From 05be912dc8614b48f5af1aa07b086dd8143c9b5d Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Thu, 13 Jul 2023 09:38:04 -0400 Subject: [PATCH] Update rapids-cmake ci to support conda-forge CUDA 12 (#437) Needed due to the changes coming to the rapids shared-action-workflow: https://github.com/rapidsai/shared-action-workflows/issues/112 Authors: - Robert Maynard (https://github.com/robertmaynard) - Bradley Dice (https://github.com/bdice) Approvers: - Bradley Dice (https://github.com/bdice) - Ray Douglass (https://github.com/raydouglass) URL: https://github.com/rapidsai/rapids-cmake/pull/437 --- .github/workflows/build.yaml | 6 +- .github/workflows/pr.yaml | 10 +-- .github/workflows/test.yaml | 2 +- ci/check_style.sh | 2 +- .../conda_build_config.yaml | 6 ++ .../rapids_core_dependencies/meta.yaml | 17 +++-- dependencies.yaml | 63 +++++++++++++++++-- 7 files changed, 87 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b2de1180..2185560f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,7 +28,7 @@ concurrency: jobs: cpp-build: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -37,7 +37,7 @@ jobs: upload-conda: needs: [cpp-build] secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@cuda-120 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -46,7 +46,7 @@ jobs: docs-build: if: github.ref_type == 'branch' secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120 with: arch: "amd64" branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 2977ce28..450b0499 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -17,26 +17,26 @@ jobs: - conda-cpp-tests - docs-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@cuda-120 checks: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@cuda-120 conda-cpp-build: needs: checks secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120 with: build_type: pull-request conda-cpp-tests: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120 with: build_type: pull-request docs-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120 with: build_type: pull-request node_type: "cpu4" diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index fba047b1..e433745a 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ on: jobs: cpp-tests: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.08 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120 with: build_type: nightly branch: ${{ inputs.branch }} diff --git a/ci/check_style.sh b/ci/check_style.sh index 82dc1b68..db39e738 100755 --- a/ci/check_style.sh +++ b/ci/check_style.sh @@ -9,7 +9,7 @@ rapids-logger "Create checks conda environment" rapids-dependency-file-generator \ --output conda \ --file_key checks \ - --matrix "" | tee env.yaml + --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" | tee env.yaml rapids-mamba-retry env create --force -f env.yaml -n checks diff --git a/conda/recipes/rapids_core_dependencies/conda_build_config.yaml b/conda/recipes/rapids_core_dependencies/conda_build_config.yaml index 9f90f6f0..c65bc4f3 100644 --- a/conda/recipes/rapids_core_dependencies/conda_build_config.yaml +++ b/conda/recipes/rapids_core_dependencies/conda_build_config.yaml @@ -2,7 +2,13 @@ cxx_compiler_version: - 11 cuda_compiler: + - cuda-nvcc + +cuda11_compiler: - nvcc +cmake_version: + - ">=3.26.4" + sysroot_version: - "2.17" diff --git a/conda/recipes/rapids_core_dependencies/meta.yaml b/conda/recipes/rapids_core_dependencies/meta.yaml index 6362829b..efa54215 100644 --- a/conda/recipes/rapids_core_dependencies/meta.yaml +++ b/conda/recipes/rapids_core_dependencies/meta.yaml @@ -16,18 +16,27 @@ build: number: {{ GIT_DESCRIBE_NUMBER }} string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }} ignore_run_exports_from: - - {{ compiler('cuda') }} + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} + {% endif %} requirements: build: - - cmake>=3.23.1,!=3.25.0 + - cmake {{ cmake_version }} - {{ compiler('cxx') }} - - {{ compiler('cuda') }} {{ cuda_version }} + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} ={{ cuda_version }} + {% else %} + - {{ compiler('cuda') }} + {% endif %} + - cuda-version ={{ cuda_version }} - make - ninja - sysroot_{{ target_platform }} {{ sysroot_version }} host: - - cudatoolkit ={{ cuda_version }} + - cuda-version ={{ cuda_version }} + run: + - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} about: home: https://rapids.ai/ diff --git a/dependencies.yaml b/dependencies.yaml index 4421ff28..4625261f 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -32,6 +32,44 @@ dependencies: - c-compiler - cxx-compiler - make + specific: + - output_types: conda + matrices: + - matrix: + arch: x86_64 + cuda: "11.2" + packages: + - nvcc_linux-64=11.2 + - matrix: + arch: aarch64 + cuda: "11.2" + packages: + - nvcc_linux-aarch64=11.2 + - matrix: + arch: x86_64 + cuda: "11.4" + packages: + - nvcc_linux-64=11.4 + - matrix: + arch: aarch64 + cuda: "11.4" + packages: + - nvcc_linux-aarch64=11.4 + - matrix: + arch: x86_64 + cuda: "11.8" + packages: + - nvcc_linux-64=11.8 + - matrix: + arch: aarch64 + cuda: "11.8" + packages: + - nvcc_linux-aarch64=11.8 + - matrix: + cuda: "12.0" + packages: + - cuda-version=12.0 + - cuda-nvcc cudatoolkit: specific: - output_types: conda @@ -39,29 +77,44 @@ dependencies: - matrix: cuda: "11.2" packages: - - cudatoolkit=11.2 + - cuda-version=11.2 + - cudatoolkit - gcc<11.0.0 - sysroot_linux-64==2.17 - matrix: cuda: "11.4" packages: - - cudatoolkit=11.4 + - cuda-version=11.4 + - cudatoolkit - gcc<11.0.0 - sysroot_linux-64==2.17 - matrix: cuda: "11.5" packages: - - cudatoolkit=11.5 + - cuda-version=11.5 + - cudatoolkit + - gcc<12.0.0 - sysroot_linux-64==2.17 - matrix: cuda: "11.6" packages: - - cudatoolkit=11.6 + - cuda-version=11.6 + - cudatoolkit + - gcc<12.0.0 - sysroot_linux-64==2.17 - matrix: cuda: "11.8" packages: - - cudatoolkit=11.8 + - cuda-version=11.8 + - cudatoolkit + - gcc<12.0.0 + - sysroot_linux-64==2.17 + - matrix: + cuda: "12.0" + packages: + - cuda-version=12.0 + - cuda-cupti-dev + - gcc<13.0.0 - sysroot_linux-64==2.17 docs: common: