Update GPU CI configuration
authorMark Abraham <mark.j.abraham@gmail.com>
Tue, 17 Aug 2021 17:01:37 +0000 (17:01 +0000)
committerAndrey Alekseenko <al42and@gmail.com>
Tue, 17 Aug 2021 17:01:37 +0000 (17:01 +0000)
CUDA 11.4.1 updates the most recent supported versions of gcc and
clang so we should update those also.

ROCM 4.3 is out, and is more likely than any older version to be the
one we will support in 2022, so we should update them.

Several recent bug fixes in hipSYCL are worth having to avoid needing
to work around them in other changes.

Previously we re-used the hipsycl container for clang-tidy with CUDA,
but as we wish that to remain at clang version 11, we need an alternative
solution. Simplest would be to add CUDA to the linting image, but that
also builds LLVM with TSAN. As that TSAN build didn't work out of the box
on a CUDA base image, I split the TSAN image off from the image that does
linting, and added CUDA to the latter.

admin/containers/buildall.sh
admin/gitlab-ci/gromacs.matrix.gitlab-ci.yml
admin/gitlab-ci/gromacs.matrix/gromacs.clang-12-cuda-11.4.1.gitlab-ci.yml [moved from admin/gitlab-ci/gromacs.matrix/gromacs.clang-11-cuda-11.4.gitlab-ci.yml with 66% similarity]
admin/gitlab-ci/gromacs.matrix/gromacs.gcc-11-cuda-11.4.1-release.gitlab-ci.yml [moved from admin/gitlab-ci/gromacs.matrix/gromacs.gcc-10-cuda-11.4-release.gitlab-ci.yml with 71% similarity]
admin/gitlab-ci/gromacs.matrix/gromacs.gcc-11-cuda-11.4.1.gitlab-ci.yml [moved from admin/gitlab-ci/gromacs.matrix/gromacs.gcc-10-cuda-11.4.gitlab-ci.yml with 78% similarity]
admin/gitlab-ci/gromacs.matrix/gromacs.hipsycl-dev.gitlab-ci.yml
admin/gitlab-ci/lint.gitlab-ci.yml

index 9fb753345069e1082c10e87bda0615c298b4b677..a75abf5276b2797b05290a1c4c631f20a55b2aa6 100755 (executable)
@@ -10,15 +10,16 @@ SCRIPT=$PWD/scripted_gmx_docker_builds.py
 # thread and no MPI configurations.
 
 args[${#args[@]}]="--gcc 11 --clfft --mpi openmpi --rocm"
-args[${#args[@]}]="--gcc 10 --cuda 11.4.0 --clfft --mpi openmpi"
+args[${#args[@]}]="--gcc 11 --cuda 11.4.1 --clfft --mpi openmpi"
 args[${#args[@]}]="--gcc 7 --cuda 11.0 --clfft --mpi openmpi"
+args[${#args[@]}]="--llvm 11 --cuda 11.4.1"
 args[${#args[@]}]="--llvm 11 --tsan"
 args[${#args[@]}]="--llvm 8 --cuda 11.0 --clfft --mpi openmpi"
 args[${#args[@]}]="--llvm 12 --clfft --mpi openmpi --rocm"
 args[${#args[@]}]="--oneapi 2021.3.0"
 args[${#args[@]}]="--oneapi 2021.2.0 --intel-compute-runtime 21.21.19914"
 args[${#args[@]}]="--llvm --doxygen --mpi openmpi --venvs 3.7.7"
-args[${#args[@]}]="--llvm 11 --cuda 11.4.0 --hipsycl 0bf6420aab18 --rocm 4.2"
+args[${#args[@]}]="--llvm 12 --cuda 11.4.1 --hipsycl 4481c03 --rocm 4.3"
 
 echo "Building the following images."
 for arg_string in "${args[@]}"; do
index e62aa4e200db1ae94e8da8e2a96bf410085b0329..f4d3d27dd70c348bdb777dfe328c0e3a5c0d884e 100644 (file)
@@ -262,7 +262,7 @@ include:
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-8.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-12-mpi.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-12-release.gitlab-ci.yml'
-  - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-11-cuda-11.4.gitlab-ci.yml'
+  - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-12-cuda-11.4.1.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-ASAN.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-static-analyzer.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-TSAN.gitlab-ci.yml'
@@ -270,8 +270,8 @@ include:
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-11.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-11-coverage.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-7-cuda-11.0.gitlab-ci.yml'
-  - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-10-cuda-11.4.gitlab-ci.yml'
-  - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-10-cuda-11.4-release.gitlab-ci.yml'
+  - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-11-cuda-11.4.1.gitlab-ci.yml'
+  - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-11-cuda-11.4.1-release.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-11-release.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.hipsycl-dev.gitlab-ci.yml'
   - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.oneapi-2021.3.0-opencl.gitlab-ci.yml'
similarity index 66%
rename from admin/gitlab-ci/gromacs.matrix/gromacs.clang-11-cuda-11.4.gitlab-ci.yml
rename to admin/gitlab-ci/gromacs.matrix/gromacs.clang-12-cuda-11.4.1.gitlab-ci.yml
index c57cc1c1e06626cc6e0e29840036dd4f7b02a154..2ab5c1c6d4fe28fe33b981162d0751e461c5e28c 100644 (file)
@@ -7,46 +7,46 @@
 # Test implementation choices (free to change as needed):
 #   OS: Ubuntu 20.04
 #   Build type: RelWithDebInfo
-#   Compiler: Clang 11
+#   Compiler: Clang 12
 #   MPI: thread_MPI
-#   GPU: Clang CUDA 11.4, CUDA 11.4
+#   GPU: Clang CUDA 11.4.1, CUDA 11.4.1
 #   SIMD: AVX2_256, no kernels
 #   FFT: FFTW3
 #   Parallelism nt/ntomp: 4/2 (unit tests)
 #   Parallelism nt/ntomp: 2/1 (regression tests)
 
-gromacs:clang-11-cuda-11.4:configure:
+gromacs:clang-12-cuda-11.4.1:configure:
   extends:
     - .gromacs:base:configure
     - .use-clang:base
     - .use-cuda
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.0-hipsycl-0bf6420aab18-rocm-4.2
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-12-cuda-11.4.1-hipsycl-7a309b808-rocm-4.3
   variables:
     CMAKE: /usr/local/cmake-3.17.2/bin/cmake
     CMAKE_SIMD_OPTIONS: "-DGMX_USE_SIMD_KERNELS=off"
     CMAKE_EXTRA_OPTIONS: "-DGMX_CLANG_CUDA=ON"
     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
-    COMPILER_MAJOR_VERSION: 11
+    COMPILER_MAJOR_VERSION: 12
 
-gromacs:clang-11-cuda-11.4:build:
+gromacs:clang-12-cuda-11.4.1:build:
   extends:
     - .variables:default
     - .gromacs:base:build
     - .use-clang:base
     - .use-ccache
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.0-hipsycl-0bf6420aab18-rocm-4.2
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-12-cuda-11.4.1-hipsycl-7a309b808-rocm-4.3
   variables:
     CMAKE: /usr/local/cmake-3.17.2/bin/cmake
   needs:
-    - job: gromacs:clang-11-cuda-11.4:configure
+    - job: gromacs:clang-12-cuda-11.4.1:configure
 
-gromacs:clang-11-cuda-11.4:test:
+gromacs:clang-12-cuda-11.4.1:test:
   extends:
     - .gromacs:base:test
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.0-hipsycl-0bf6420aab18-rocm-4.2
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-12-cuda-11.4.1-hipsycl-7a309b808-rocm-4.3
   variables:
     CMAKE: /usr/local/cmake-3.17.2/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -54,13 +54,13 @@ gromacs:clang-11-cuda-11.4:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:clang-11-cuda-11.4:build
+    - job: gromacs:clang-12-cuda-11.4.1:build
 
-gromacs:clang-11-cuda-11.4:regressiontest:
+gromacs:clang-12-cuda-11.4.1:regressiontest:
   extends:
     - .gromacs:base:regressiontest
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.0-hipsycl-0bf6420aab18-rocm-4.2
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-12-cuda-11.4.1-hipsycl-7a309b808-rocm-4.3
   variables:
     CMAKE: /usr/local/cmake-3.17.2/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -71,5 +71,5 @@ gromacs:clang-11-cuda-11.4:regressiontest:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:clang-11-cuda-11.4:build
-    - job: regressiontests:prepare
\ No newline at end of file
+    - job: gromacs:clang-12-cuda-11.4.1:build
+    - job: regressiontests:prepare
similarity index 71%
rename from admin/gitlab-ci/gromacs.matrix/gromacs.gcc-10-cuda-11.4-release.gitlab-ci.yml
rename to admin/gitlab-ci/gromacs.matrix/gromacs.gcc-11-cuda-11.4.1-release.gitlab-ci.yml
index 6bc7889d65a61d75afc483f24c6d0738e9f536aa..857f2f61be2aae5576cf3bb9e6fabaa9d20abb36 100644 (file)
@@ -8,23 +8,23 @@
 # Test implementation choices (free to change as needed):
 #   OS: Ubuntu 20.04
 #   Build type: RelWithDebInfo
-#   Compiler: GCC 10.2
-#   GPU: CUDA 11.4
+#   Compiler: GCC 11.2
+#   GPU: CUDA 11.4.1
 #   SIMD: AVX2_256
 #   FFT: FFTW3
 #   Parallelism nt/ntomp: 4/2 (unit tests)
 
-gromacs:gcc-10-cuda-11.4:release:configure:
+gromacs:gcc-11-cuda-11.4.1:release:configure:
   extends:
     - .gromacs:base:release:configure
     - .use-gcc:base
     - .use-mpi
     - .use-cuda
     - .rules:nightly-only-for-release
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.4.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-11-cuda-11.4.1
   variables:
     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
-    COMPILER_MAJOR_VERSION: 10
+    COMPILER_MAJOR_VERSION: 11
     RELEASE_BUILD_DIR: release-builds-gcc
     CMAKE_BUILD_TYPE_OPTIONS : "-DCMAKE_BUILD_TYPE=RelWithAssert"
     CMAKE_REGRESSIONTEST_OPTIONS: ""
@@ -33,7 +33,7 @@ gromacs:gcc-10-cuda-11.4:release:configure:
     - regressiontests:package
     - prepare-release-version
 
-gromacs:gcc-10-cuda-11.4:release:build:
+gromacs:gcc-11-cuda-11.4.1:release:build:
   extends:
     - .variables:default
     - .gromacs:base:build
@@ -44,16 +44,16 @@ gromacs:gcc-10-cuda-11.4:release:build:
   variables:
     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
     BUILD_DIR: release-builds-gcc
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.4.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-11-cuda-11.4.1
   needs:
-    - job: gromacs:gcc-10-cuda-11.4:release:configure
+    - job: gromacs:gcc-11-cuda-11.4.1:release:configure
 
-gromacs:gcc-10-cuda-11.4:release:test:
+gromacs:gcc-11-cuda-11.4.1:release:test:
   extends:
     - .gromacs:base:test
     - .rules:nightly-only-for-release
   stage: release-tests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.4.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-11-cuda-11.4.1
   variables:
     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -62,6 +62,6 @@ gromacs:gcc-10-cuda-11.4:release:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-10-cuda-11.4:release:configure
-    - job: gromacs:gcc-10-cuda-11.4:release:build
+    - job: gromacs:gcc-11-cuda-11.4.1:release:configure
+    - job: gromacs:gcc-11-cuda-11.4.1:release:build
 
similarity index 78%
rename from admin/gitlab-ci/gromacs.matrix/gromacs.gcc-10-cuda-11.4.gitlab-ci.yml
rename to admin/gitlab-ci/gromacs.matrix/gromacs.gcc-11-cuda-11.4.1.gitlab-ci.yml
index 27540c0630014ed262c133b3fd6e624f366acab5..582dfbb60a9ec7424c66e8f2c8c95ed6938841da 100644 (file)
@@ -9,45 +9,45 @@
 # Test implementation choices (free to change as needed):
 #   OS: Ubuntu 20.04
 #   Build type: RelWithDebInfo
-#   Compiler: GCC 10.2
+#   Compiler: GCC 11.2
 #   GPU: CUDA 11.4
 #   SIMD: SSE 4.1
 #   FFT: FFTW3
 #   Parallelism np/ntomp: 4/1 (regression tests with dual GPU)
 
-gromacs:gcc-10-cuda-11.4:configureMPI:
+gromacs:gcc-11-cuda-11.4:configureMPI:
   extends:
     - .gromacs:base:configure
     - .use-gcc:base
     - .use-cuda
     - .use-mpi
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.4.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-11-cuda-11.4.1
   variables:
     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
-    COMPILER_MAJOR_VERSION: 10
+    COMPILER_MAJOR_VERSION: 11
 
-gromacs:gcc-10-cuda-11.4:buildMPI:
+gromacs:gcc-11-cuda-11.4:buildMPI:
   extends:
     - .variables:default
     - .gromacs:base:build
     - .before_script:default
     - .use-ccache
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.4.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-11-cuda-11.4.1
   variables:
     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
   needs:
-    - job: gromacs:gcc-10-cuda-11.4:configureMPI
+    - job: gromacs:gcc-11-cuda-11.4:configureMPI
 
-gromacs:gcc-10-cuda-11.4:regressiontest-gpucommupd-MPI:
+gromacs:gcc-11-cuda-11.4:regressiontest-gpucommupd-MPI:
   # Test parallelism np/ntomp: 4/1
   # Test parallelism GPU: direct communications, update
   extends:
     - .gromacs:base:regressiontest
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.4.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-11-cuda-11.4.1
   variables:
     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -62,7 +62,7 @@ gromacs:gcc-10-cuda-11.4:regressiontest-gpucommupd-MPI:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-10-cuda-11.4:buildMPI
+    - job: gromacs:gcc-11-cuda-11.4:buildMPI
     - job: regressiontests:prepare
   artifacts:
     paths:
index bd6b25e8f5c3d145332ee56c6405043cdb0c4e18..9a9f1166b32d3e1d52d95b0f5dca58d2fd3bef79 100644 (file)
@@ -7,7 +7,7 @@
 # Test implementation choices (free to change as needed):
 #   OS: Ubuntu 20.04
 #   Build type: RelWithAssert
-#   Compiler: Clang 12 (ROCm)
+#   Compiler: Clang 13 (from ROCm)
 #   MPI: thread_MPI
 #   SIMD: AVX2_256
 
@@ -17,7 +17,7 @@ gromacs:hipsycl-dev:configure:
     - .use-clang:base
     - .use-sycl
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.2.2-hipsycl-0bf6420aab18-rocm-4.2
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-12-cuda-11.4.1-hipsycl-7a309b808-rocm-4.3
   variables:
     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
@@ -30,7 +30,7 @@ gromacs:hipsycl-dev:configure:
     CMAKE_GPU_OPTIONS: "-DGMX_GPU=SYCL -DGMX_SYCL_HIPSYCL=ON -DHIPSYCL_TARGETS='hip:gfx900'"
     # Unset COMPILER_LAUNCHER (previously set to ccache) because it conflicts with hipSYCL's syclcc-launcher
     CMAKE_EXTRA_OPTIONS: "-DCMAKE_C_COMPILER_LAUNCHER= -DCMAKE_CXX_COMPILER_LAUNCHER="
-    COMPILER_MAJOR_VERSION: 11
+    COMPILER_MAJOR_VERSION: 13
 
 gromacs:hipsycl-dev:build:
   extends:
@@ -39,7 +39,7 @@ gromacs:hipsycl-dev:build:
     - .before_script:default
     # Not using ccache because it plays poorly with syclcc-launcher
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.2.2-hipsycl-0bf6420aab18-rocm-4.2
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-12-cuda-11.4.1-hipsycl-7a309b808-rocm-4.3
   variables:
     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
   tags:
index db759624c8516df09d99f2e31d946578abbd5509..d5b43ad9b9ac869a43c36a84999e45b3bcae1272 100644 (file)
@@ -5,7 +5,7 @@ clang-tidy:configure-push:
     - .gromacs:base:configure
     - .use-clang:base
     - .rules:basic-push
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-tsan
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
   variables:
     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
     COMPILER_MAJOR_VERSION: 11
@@ -17,7 +17,7 @@ clang-tidy:configure-schedule:
     - .gromacs:base:configure
     - .use-clang:base
     - .rules:nightly-not-for-release
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-tsan
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
   variables:
     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
     COMPILER_MAJOR_VERSION: 11
@@ -30,7 +30,7 @@ clang-tidy:configure-schedule-cuda:
     - .use-clang:base
     - .use-cuda
     - .rules:nightly-not-for-release
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.2.2-hipsycl-0bf6420aab18-rocm-4.2
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
   variables:
     CMAKE: cmake
     COMPILER_MAJOR_VERSION: 11
@@ -44,7 +44,7 @@ clang-tidy:build:
     - .variables:default
     - .rules:nightly-not-for-release
   stage: source-check
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-tsan
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
   needs:
     - job: clang-tidy:configure-schedule
   variables:
@@ -58,7 +58,7 @@ clang-tidy:build-cuda:
     - .variables:default
     - .rules:nightly-not-for-release
   stage: source-check
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.2.2-hipsycl-0bf6420aab18-rocm-4.2
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
   needs:
     - job: clang-tidy:configure-schedule-cuda
   variables:
@@ -71,7 +71,7 @@ clang-tidy:test:
     - .variables:default
     - .rules:basic-push
   stage: source-check
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-tsan
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
   needs:
     - job: clang-tidy:configure-push
   variables:
@@ -108,7 +108,7 @@ clang-format:
     - .rules:basic-push
   cache: {}
   stage: pre-build
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-tsan
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
   variables:
     COMPILER_MAJOR_VERSION: 11
     KUBERNETES_CPU_LIMIT: 1
@@ -139,7 +139,7 @@ copyright-check:
     - .rules:basic-push
   cache: {}
   stage: pre-build
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-tsan
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
   variables:
     KUBERNETES_CPU_LIMIT: 1
     KUBERNETES_CPU_REQUEST: 1