Add Clang CUDA build to CI
authorPaul Bauer <paul.bauer.q@gmail.com>
Fri, 30 Oct 2020 18:15:17 +0000 (19:15 +0100)
committerPaul Bauer <paul.bauer.q@gmail.com>
Tue, 3 Nov 2020 07:04:59 +0000 (07:04 +0000)
Runs tests during post-merge acceptance, but compiled for all merge
requests.

admin/gitlab-ci/gromacs.gitlab-ci.yml

index 125ed9a98deb74d6f05f6070a97502330df8afa8..b38de61e53715eb85f2fa1ca84798122cbde3c60 100644 (file)
@@ -233,6 +233,20 @@ gromacs:gcc-7:configure:
     CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
     COMPILER_MAJOR_VERSION: 7
 
+gromacs:clang-8-cuda-10.0:configure:
+  extends:
+    - .gromacs:base:configure
+    - .use-clang:base
+    - .use-cuda
+    - .rules:merge-and-post-merge-acceptance
+  image: gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
+  variables:
+    CMAKE: /usr/local/cmake-3.13.0/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: 8
+
 gromacs:gcc-8-cuda-11.0:configure:
   extends:
     - .gromacs:base:configure
@@ -476,7 +490,19 @@ gromacs:gcc-7:build:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
   needs:
     - job: gromacs:gcc-7:configure
-      artifacts: true
+
+gromacs:clang-8-cuda-10.0:build:
+  extends:
+    - .variables:default
+    - .gromacs:base:build
+    - .use-clang:base
+    - .use-ccache
+    - .rules:merge-and-post-merge-acceptance
+  image: gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
+  variables:
+    CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+  needs:
+    - job: gromacs:clang-8-cuda-10.0:configure
 
 gromacs:gcc-8-cuda-11.0:build:
   extends:
@@ -783,6 +809,20 @@ gromacs:gcc-7:test:
   needs:
     - job: gromacs:gcc-7:build
 
+gromacs:clang-8-cuda-10.0:test:
+  extends:
+    - .gromacs:base:test
+    - .rules:post-merge-acceptance
+  image: gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
+  variables:
+    CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+    KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
+    KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
+  tags:
+    - k8s-scilifelab
+  needs:
+    - job: gromacs:clang-8-cuda-10.0:build
+
 gromacs:gcc-8-cuda-11.0:test:
   extends:
     - .gromacs:base:test
@@ -912,6 +952,25 @@ gromacs:gcc-7:regressiontest:
     - job: gromacs:gcc-7:build
     - job: regressiontests:prepare
 
+gromacs:clang-8-cuda-10.0:regressiontest:
+  extends:
+    - .gromacs:base:regressiontest
+    - .rules:post-merge-acceptance
+  image: gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
+  variables:
+    CMAKE: /usr/local/cmake-3.13.0/bin/cmake
+    KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
+    KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
+    REGRESSIONTEST_PME_RANK_NUMBER: 0
+    REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
+    REGRESSIONTEST_OMP_RANK_NUMBER: 1
+  tags:
+    - k8s-scilifelab
+  needs:
+    - job: gromacs:clang-8-cuda-10.0:build
+    - job: regressiontests:prepare
+
+
 gromacs:gcc-8-cuda-11.0:regressiontest:
   extends:
     - .gromacs:base:regressiontest