From c710b8c689b58f28639d46386fed4368dbcc6a8b Mon Sep 17 00:00:00 2001 From: Paul Bauer Date: Mon, 30 Nov 2020 16:07:42 +0000 Subject: [PATCH] Add tests for newer GCC versions 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 | 4 +- admin/gitlab-ci/gromacs.gitlab-ci.yml | 93 +++++++++---------- admin/gitlab-ci/python-gmxapi.gitlab-ci.yml | 18 ++-- .../gitlab-ci/sample_restraint.gitlab-ci.yml | 18 ++-- 4 files changed, 67 insertions(+), 66 deletions(-) diff --git a/admin/containers/buildall.sh b/admin/containers/buildall.sh index c36b07de16..f44058a43a 100644 --- a/admin/containers/buildall.sh +++ b/admin/containers/buildall.sh @@ -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" diff --git a/admin/gitlab-ci/gromacs.gitlab-ci.yml b/admin/gitlab-ci/gromacs.gitlab-ci.yml index 2360be64bc..2850546af4 100644 --- a/admin/gitlab-ci/gromacs.gitlab-ci.yml +++ b/admin/gitlab-ci/gromacs.gitlab-ci.yml @@ -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: diff --git a/admin/gitlab-ci/python-gmxapi.gitlab-ci.yml b/admin/gitlab-ci/python-gmxapi.gitlab-ci.yml index 3ffd73e073..cf4b2e341f 100644 --- a/admin/gitlab-ci/python-gmxapi.gitlab-ci.yml +++ b/admin/gitlab-ci/python-gmxapi.gitlab-ci.yml @@ -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" diff --git a/admin/gitlab-ci/sample_restraint.gitlab-ci.yml b/admin/gitlab-ci/sample_restraint.gitlab-ci.yml index 4f024eba9d..454a079627 100644 --- a/admin/gitlab-ci/sample_restraint.gitlab-ci.yml +++ b/admin/gitlab-ci/sample_restraint.gitlab-ci.yml @@ -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 @@ -27,28 +27,28 @@ - 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" -- 2.22.0