1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00

ci: add tags to tie CUDA jobs to runners with hardware supporting them

CUDA 12.8 deprecated support for compute architectures below 75.
Presumably support will be removed from a future version of the
CUDA Toolkit.  Jobs using such a future version of CUDA will not
be able to compile support for CUDA architectures below 75, so
they will not be able to run on older hardware.  In preparation,
our CI runners now have `cuda-arch-#` tags for the architectures
they support.  Jobs may then be tagged with the minimum architecture
on which they can run.

Tag each job with the highest of the following requirements:

* Most of CMake's tests use the CUDA compiler's default architecture,
  which is based on the version the CUDA toolkit.

* For Clang we currently select architecture 52 if supported by the
  CUDA toolkit, even if that toolkit's NVCC defaults to an older arch.

* The `CudaOnly.Architecture` test uses a specific architecture
  configured by each CI job.
This commit is contained in:
Brad King
2025-04-21 17:13:39 -04:00
parent 1395c1e19a
commit 72e7636540
2 changed files with 25 additions and 18 deletions

View File

@@ -310,7 +310,7 @@ t:nvhpc24.9-ninja:
extends:
- .nvhpc_ninja
- .cmake_test_linux_release
- .linux_x86_64_v3_tags_cuda
- .linux_x86_64_v3_tags_cuda_arch_52
- .run_dependent
- .needs_centos7_x86_64
variables:
@@ -320,7 +320,7 @@ t:cuda9.2-nvidia:
extends:
- .cuda9.2_nvidia
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_30
- .run_dependent
- .needs_centos7_x86_64
variables:
@@ -330,7 +330,7 @@ t:cuda10.2-nvidia:
extends:
- .cuda10.2_nvidia
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .cmake_junit_artifacts
- .run_dependent
- .needs_centos7_x86_64
@@ -341,7 +341,7 @@ t:cuda10.2-clang:
extends:
- .cuda10.2_clang
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .run_dependent
- .needs_centos7_x86_64
variables:
@@ -351,7 +351,7 @@ t:cuda11.6-nvidia:
extends:
- .cuda11.6_nvidia
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .cmake_junit_artifacts
- .run_dependent
- .needs_centos7_x86_64
@@ -362,7 +362,7 @@ t:cuda11.6-clang:
extends:
- .cuda11.6_clang
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .run_dependent
- .needs_centos7_x86_64
variables:
@@ -372,7 +372,7 @@ t:cuda11.8-minimal-ninja:
extends:
- .cuda11.8_minimal_nvidia
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .run_dependent
- .needs_centos7_x86_64
variables:
@@ -382,7 +382,7 @@ t:cuda11.8-minimal-splayed-ninja:
extends:
- .cuda11.8_splayed_nvidia
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .run_dependent
- .needs_centos7_x86_64
variables:
@@ -392,7 +392,7 @@ t:cuda12.2-nvidia:
extends:
- .cuda12.2_nvidia
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .cmake_junit_artifacts
- .run_dependent
- .needs_centos7_x86_64
@@ -403,7 +403,7 @@ t:cuda12.2-clang:
extends:
- .cuda12.2_clang
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .run_dependent
- .needs_centos7_x86_64
variables:
@@ -413,7 +413,7 @@ t:cuda12.6-nvidia:
extends:
- .cuda12.6_nvidia
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .cmake_junit_artifacts
- .run_dependent
- .needs_centos7_x86_64
@@ -422,7 +422,7 @@ t:cuda12.6-nvidia-clang:
extends:
- .cuda12.6_nvidia_clang
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .cmake_junit_artifacts
- .run_dependent
- .needs_centos7_x86_64
@@ -433,7 +433,7 @@ t:cuda12.6-clang:
extends:
- .cuda12.6_clang
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .run_dependent
- .needs_centos7_x86_64
variables:
@@ -443,7 +443,7 @@ t:hip6.3-nvidia:
extends:
- .hip6.3_nvidia
- .cmake_test_linux_release
- .linux_x86_64_tags_cuda
- .linux_x86_64_tags_cuda_arch_52
- .run_dependent
- .needs_centos7_x86_64
variables:

View File

@@ -553,17 +553,24 @@
- linux-x86_64
- x11
.linux_x86_64_tags_cuda:
.linux_x86_64_tags_cuda_arch_30:
tags:
- cmake
- cuda-rt
- cuda-arch-30
- docker
- linux-x86_64
.linux_x86_64_v3_tags_cuda:
.linux_x86_64_tags_cuda_arch_52:
tags:
- cmake
- cuda-rt
- cuda-arch-52
- docker
- linux-x86_64
.linux_x86_64_v3_tags_cuda_arch_52:
tags:
- cmake
- cuda-arch-52
- docker
- linux-x86_64-v3