Add tests for newer GCC versions
authorPaul Bauer <paul.bauer.q@gmail.com>
Mon, 30 Nov 2020 16:07:42 +0000 (16:07 +0000)
committerMark Abraham <mark.j.abraham@gmail.com>
Mon, 30 Nov 2020 16:07:42 +0000 (16:07 +0000)
Added gcc-9 + OpenCL (in release builds) and gcc-10 + OpenCL
during merge pipelines to replace previous gcc-7 + OpenCL builds.
Shuffled around previous gcc-8 + CUDA builds to now have
gcc-7 + CUDA 10.2 and gcc-8 + CUDA 11.0 instead.

Test OpenCL with internal clFFT during release builds.

admin/containers/buildall.sh
admin/gitlab-ci/gromacs.gitlab-ci.yml
admin/gitlab-ci/python-gmxapi.gitlab-ci.yml
admin/gitlab-ci/sample_restraint.gitlab-ci.yml

index c36b07de165716eb17887c3e2fd8966b0acb4104..f44058a43a35969de768f8c352213c5212bac9ee 100644 (file)
@@ -9,8 +9,10 @@ SCRIPT=$PWD/scripted_gmx_docker_builds.py
 # images needed, because the same one can test library,
 # thread and no MPI configurations.
 
+args[${#args[@]}]="--gcc 10 --clfft --mpi openmpi --ubuntu 20.04"
+args[${#args[@]}]="--gcc 9 --clfft --mpi openmpi"
 args[${#args[@]}]="--gcc 8 --cuda 11.0 --clfft --mpi openmpi"
-args[${#args[@]}]="--gcc 7 --clfft --mpi openmpi --ubuntu 18.04"
+args[${#args[@]}]="--gcc 7 --cuda 10.2 --clfft --mpi openmpi --ubuntu 18.04"
 args[${#args[@]}]="--llvm 8 --tsan"
 args[${#args[@]}]="--llvm 8 --cuda 10.0 --clfft --mpi openmpi"
 args[${#args[@]}]="--llvm 8 --cuda 10.1 --clfft --mpi openmpi"
index 2360be64bc178d40b841abec4b488a0b3cb998d8..2850546af49808017f2b218ac7b6ae2d3bf28f57 100644 (file)
@@ -220,18 +220,18 @@ simple-build:
 
 # Templates for configuration stage
 
-gromacs:gcc-7:configure:
+gromacs:gcc-10:configure:
   extends:
     - .gromacs:base:configure
     - .use-gcc:base
     - .use-opencl
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
     CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
-    COMPILER_MAJOR_VERSION: 7
+    COMPILER_MAJOR_VERSION: 10
 
 gromacs:clang-8-cuda-10.0:configure:
   extends:
@@ -247,17 +247,17 @@ gromacs:clang-8-cuda-10.0:configure:
     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
     COMPILER_MAJOR_VERSION: 8
 
-gromacs:gcc-8-cuda-11.0:configure:
+gromacs:gcc-7-cuda-10.2:configure:
   extends:
     - .gromacs:base:configure
     - .use-gcc:base
     - .use-cuda
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
-    COMPILER_MAJOR_VERSION: 8
+    COMPILER_MAJOR_VERSION: 7
 
 gromacs:gcc-8-cuda-11.0:configureMPI:
   extends:
@@ -380,17 +380,16 @@ gromacs:gcc-8-cuda-11.0:release:configure:
     - regressiontests:package
     - prepare-release-version
 
-gromacs:gcc-7:release:configure:
+gromacs:gcc-9:release:configure:
   extends:
     - .gromacs:base:release:configure
     - .use-gcc:base
     - .use-opencl
     - .rules:nightly-only-for-release
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
-    COMPILER_MAJOR_VERSION: 7
-    CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
+    COMPILER_MAJOR_VERSION: 9
     RELEASE_BUILD_DIR: release-builds-gcc
     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
   dependencies:
@@ -478,18 +477,18 @@ gromacs:oneapi-2021.1-beta09-opencl:release:configure:
     paths:
       - $BUILD_DIR/scan_html
 
-gromacs:gcc-7:build:
+gromacs:gcc-10:build:
   extends:
     - .variables:default
     - .gromacs:base:build
     - .before_script:default
     - .use-ccache
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
   needs:
-    - job: gromacs:gcc-7:configure
+    - job: gromacs:gcc-10:configure
 
 gromacs:clang-8-cuda-10.0:build:
   extends:
@@ -504,18 +503,18 @@ gromacs:clang-8-cuda-10.0:build:
   needs:
     - job: gromacs:clang-8-cuda-10.0:configure
 
-gromacs:gcc-8-cuda-11.0:build:
+gromacs:gcc-7-cuda-10.2:build:
   extends:
     - .variables:default
     - .gromacs:base:build
     - .before_script:default
     - .use-ccache
     - .rules:merge-and-post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:configure
+    - job: gromacs:gcc-7-cuda-10.2:configure
 
 gromacs:gcc-8-cuda-11.0:buildMPI:
   extends:
@@ -653,7 +652,7 @@ gromacs:gcc-8-cuda-11.0:release:build:
   needs:
     - job: gromacs:gcc-8-cuda-11.0:release:configure
 
-gromacs:gcc-7:release:build:
+gromacs:gcc-9:release:build:
   extends:
     - .variables:default
     - .gromacs:base:build
@@ -664,9 +663,9 @@ gromacs:gcc-7:release:build:
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     BUILD_DIR: release-builds-gcc
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
   needs:
-    - job: gromacs:gcc-7:release:configure
+    - job: gromacs:gcc-9:release:configure
 
 gromacs:clang-9:release:build:
   extends:
@@ -794,11 +793,11 @@ gromacs:oneapi-2021.1-beta09-opencl:release:build:
     when: always
     expire_in: 1 week
 
-gromacs:gcc-7:test:
+gromacs:gcc-10:test:
   extends:
     - .gromacs:base:test
     - .rules:merge-requests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
@@ -807,7 +806,7 @@ gromacs:gcc-7:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7:build
+    - job: gromacs:gcc-10:build
 
 gromacs:clang-8-cuda-10.0:test:
   extends:
@@ -823,11 +822,11 @@ gromacs:clang-8-cuda-10.0:test:
   needs:
     - job: gromacs:clang-8-cuda-10.0:build
 
-gromacs:gcc-8-cuda-11.0:test:
+gromacs:gcc-7-cuda-10.2:test:
   extends:
     - .gromacs:base:test
     - .rules:merge-requests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -835,13 +834,13 @@ gromacs:gcc-8-cuda-11.0:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
 
-gromacs:gcc-8-cuda-11.0:test-gpucommupd:
+gromacs:gcc-8-cuda-10.2:test-gpucommupd:
   extends:
     - .gromacs:base:test
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -852,7 +851,7 @@ gromacs:gcc-8-cuda-11.0:test-gpucommupd:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
 
 gromacs:clang-8:test:
   extends:
@@ -933,11 +932,11 @@ gromacs:clang-9-mpi:test:
   needs:
     - job: gromacs:clang-9-mpi:build
 
-gromacs:gcc-7:regressiontest:
+gromacs:gcc-10:regressiontest:
   extends:
     - .gromacs:base:regressiontest
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
@@ -949,7 +948,7 @@ gromacs:gcc-7:regressiontest:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7:build
+    - job: gromacs:gcc-10:build
     - job: regressiontests:prepare
 
 gromacs:clang-8-cuda-10.0:regressiontest:
@@ -971,11 +970,11 @@ gromacs:clang-8-cuda-10.0:regressiontest:
     - job: regressiontests:prepare
 
 
-gromacs:gcc-8-cuda-11.0:regressiontest:
+gromacs:gcc-7-cuda-10.2:regressiontest:
   extends:
     - .gromacs:base:regressiontest
     - .rules:merge-requests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -986,14 +985,14 @@ gromacs:gcc-8-cuda-11.0:regressiontest:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
     - job: regressiontests:prepare
 
-gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-tMPI:
+gromacs:gcc-7-cuda-10.2:regressiontest-gpucommupd-tMPI:
   extends:
     - .gromacs:base:regressiontest
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     CMAKE: /usr/local/cmake-3.15.7/bin/cmake
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
@@ -1007,7 +1006,7 @@ gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-tMPI:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
     - job: regressiontests:prepare
   artifacts:
     paths:
@@ -1015,11 +1014,11 @@ gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-tMPI:
     when: always
     expire_in: 1 week
 
-gromacs:gcc-8-cuda-11.0:regressiontest-upd-tMPI:
+gromacs:gcc-7-cuda-10.2:regressiontest-upd-tMPI:
   extends:
     - .gromacs:base:regressiontest
     - .rules:post-merge-acceptance
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
   variables:
     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
@@ -1030,7 +1029,7 @@ gromacs:gcc-8-cuda-11.0:regressiontest-upd-tMPI:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-8-cuda-11.0:build
+    - job: gromacs:gcc-7-cuda-10.2:build
     - job: regressiontests:prepare
   artifacts:
     paths:
@@ -1159,12 +1158,12 @@ gromacs:gcc-8-cuda-11.0:release:test:
     - job: gromacs:gcc-8-cuda-11.0:release:configure
     - job: gromacs:gcc-8-cuda-11.0:release:build
 
-gromacs:gcc-7:release:test:
+gromacs:gcc-9:release:test:
   extends:
     - .gromacs:base:test
     - .rules:nightly-only-for-release
   stage: release-tests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     BUILD_DIR: release-builds-gcc
@@ -1174,8 +1173,8 @@ gromacs:gcc-7:release:test:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7:release:configure
-    - job: gromacs:gcc-7:release:build
+    - job: gromacs:gcc-9:release:configure
+    - job: gromacs:gcc-9:release:build
 
 gromacs:clang-9:release:test:
   extends:
@@ -1220,12 +1219,12 @@ gromacs:oneapi-2021.1-beta09-opencl:release:test:
     - job: gromacs:oneapi-2021.1-beta09-opencl:release:configure
     - job: gromacs:oneapi-2021.1-beta09-opencl:release:build
 
-gromacs:gcc-7:release:regressiontest:
+gromacs:gcc-9:release:regressiontest:
   extends:
     - .gromacs:base:regressiontest
     - .rules:nightly-only-for-release
   stage: release-tests
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
   variables:
     CMAKE: /usr/local/cmake-3.13.0/bin/cmake
     BUILD_DIR: release-builds-gcc
@@ -1235,7 +1234,7 @@ gromacs:gcc-7:release:regressiontest:
   tags:
     - k8s-scilifelab
   needs:
-    - job: gromacs:gcc-7:release:build
+    - job: gromacs:gcc-9:release:build
     - job: regressiontests:package
 
 gromacs:clang-9:release:regressiontest:
index 3ffd73e073be634a524b2a62414c36f47dfbb660..cf4b2e341f0314a9e2c06038608e01f26e4d5d1b 100644 (file)
@@ -74,11 +74,11 @@ gmxapi-0.1:clang-8:py-3.8.2:
     VENVPATH: "/root/venv/py3.8"
     PY_VER: "3.8.2"
 
-.gmxapi-0.2:gcc-7:gmx2021:
+.gmxapi-0.2:gcc-10:gmx2021:
   extends:
     - .variables:default
     - .use-clang:base
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   stage: test
   variables:
     KUBERNETES_CPU_LIMIT: 2
@@ -105,28 +105,28 @@ gmxapi-0.1:clang-8:py-3.8.2:
     - k8s-scilifelab
   # The dependency means we need to use the same tag restriction as upstream.
   needs:
-    - job: gromacs:gcc-7:build
+    - job: gromacs:gcc-10:build
       artifacts: true
 
-gmxapi-0.2:gcc-7:gmx2021:py-3.6.10:
+gmxapi-0.2:gcc-10:gmx2021:py-3.6.10:
   extends:
-    - .gmxapi-0.2:gcc-7:gmx2021
+    - .gmxapi-0.2:gcc-10:gmx2021
     - .rules:merge-requests:release-2021
   variables:
     VENVPATH: "/root/venv/py3.6"
     PY_VER: "3.6.10"
 
-gmxapi-0.2:gcc-7:gmx2021:py-3.7.7:
+gmxapi-0.2:gcc-10:gmx2021:py-3.7.7:
   extends:
-    - .gmxapi-0.2:gcc-7:gmx2021
+    - .gmxapi-0.2:gcc-10:gmx2021
     - .rules:merge-requests:release-2021
   variables:
     VENVPATH: "/root/venv/py3.7"
     PY_VER: "3.7.7"
 
-gmxapi-0.2:gcc-7:gmx2021:py-3.8.2:
+gmxapi-0.2:gcc-10:gmx2021:py-3.8.2:
   extends:
-    - .gmxapi-0.2:gcc-7:gmx2021
+    - .gmxapi-0.2:gcc-10:gmx2021
     - .rules:merge-requests:release-2021
   variables:
     VENVPATH: "/root/venv/py3.8"
index 4f024eba9dcfa5197eb097edabb4f2646eba1cc2..454a079627f258339723bd0b0d17667491febab6 100644 (file)
@@ -1,9 +1,9 @@
 # Base job definition for sample_restraint tests against GROMACS 2021.
-.sample_restraint:gcc-7:gmx2021:
+.sample_restraint:gcc-10:gmx2021:
   extends:
     - .variables:default
     - .use-clang:base
-  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7
+  image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
   stage: test
   variables:
     KUBERNETES_CPU_LIMIT: 2
     - k8s-scilifelab
   # The dependency means we need to use the same tag restriction as upstream.
   needs:
-    - job: gromacs:gcc-7:build
+    - job: gromacs:gcc-10:build
       artifacts: true
 
-sample_restraint:gcc-7:gmx2021:py-3.6.10:
+sample_restraint:gcc-10:gmx2021:py-3.6.10:
   extends:
-    - .sample_restraint:gcc-7:gmx2021
+    - .sample_restraint:gcc-10:gmx2021
     - .rules:merge-requests:release-2021
   variables:
     VENVPATH: "/root/venv/py3.6"
     PY_VER: "3.6.10"
 
-sample_restraint:gcc-7:gmx2021:py-3.7.7:
+sample_restraint:gcc-10:gmx2021:py-3.7.7:
   extends:
-    - .sample_restraint:gcc-7:gmx2021
+    - .sample_restraint:gcc-10:gmx2021
     - .rules:merge-requests:release-2021
   variables:
     VENVPATH: "/root/venv/py3.7"
     PY_VER: "3.7.7"
 
-sample_restraint:gcc-7:gmx2021:py-3.8.2:
+sample_restraint:gcc-10:gmx2021:py-3.8.2:
   extends:
-    - .sample_restraint:gcc-7:gmx2021
+    - .sample_restraint:gcc-10:gmx2021
     - .rules:merge-requests:release-2021
   variables:
     VENVPATH: "/root/venv/py3.8"