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 --cuda 10.2 --clfft --mpi openmpi --ubuntu 18.04"
+args[${#args[@]}]="--gcc 10 --cuda 11.2.2 --clfft --mpi openmpi --ubuntu 20.04"
+args[${#args[@]}]="--gcc 7 --cuda 11.0 --clfft --mpi openmpi --ubuntu 20.04"
args[${#args[@]}]="--llvm 8 --tsan"
args[${#args[@]}]="--llvm 11 --tsan"
-args[${#args[@]}]="--llvm 8 --cuda 10.0 --clfft --mpi openmpi"
-args[${#args[@]}]="--llvm 8 --cuda 10.1 --clfft --mpi openmpi"
-args[${#args[@]}]="--llvm 8 --cuda 11.0 --clfft --mpi openmpi"
+args[${#args[@]}]="--llvm 8 --cuda 11.0 --clfft --mpi openmpi --ubuntu 20.04"
args[${#args[@]}]="--llvm 9 --clfft --mpi openmpi --ubuntu 18.04"
args[${#args[@]}]="--oneapi 2021.1.1"
args[${#args[@]}]="--oneapi 2021.2.0 --intel-compute-runtime 21.21.19914 --ubuntu 20.04"
linux_group.add_argument('--centos', type=str, nargs='?', const='7', default=None,
help='Select Centos Linux base image.')
-parser.add_argument('--cuda', type=str, nargs='?', const='10.2', default=None,
+parser.add_argument('--cuda', type=str, nargs='?', const='11.0', default=None,
help='Select a CUDA version for a base Linux image from NVIDIA.')
parser.add_argument('--mpi', type=str, nargs='?', const='openmpi', default=None,
expire_in: 1 week
include:
- - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-8-cuda-10.1-release.gitlab-ci.yml'
+ - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-8-cuda-11.0-release.gitlab-ci.yml'
- local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-8.gitlab-ci.yml'
- local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-9-mpi.gitlab-ci.yml'
- local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-9-release.gitlab-ci.yml'
- local: '/admin/gitlab-ci/gromacs.matrix/gromacs.clang-UBSAN.gitlab-ci.yml'
- local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-10.gitlab-ci.yml'
- local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-10-coverage.gitlab-ci.yml'
- - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-7-cuda-10.2.gitlab-ci.yml'
- - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-8-cuda-11.0.gitlab-ci.yml'
- - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-8-cuda-11.0-release.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.2.gitlab-ci.yml'
+ - local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-10-cuda-11.2-release.gitlab-ci.yml'
- local: '/admin/gitlab-ci/gromacs.matrix/gromacs.gcc-9-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.1.1-opencl.gitlab-ci.yml'
# HW: NVIDIA GPU
# Scope: configure, build, unit tests, regression tests
# Test implementation choices (free to change as needed):
-# OS: Ubuntu 18.04
+# OS: Ubuntu 20.04
# Build type: RelWithAssert
# Compiler: Clang 8
-# GPU: CUDA 10.1
+# GPU: CUDA 11.0
# MPI: thread_MPI
# SIMD: AVX2_256
# FFT: FFTW3
# Parallelism nt/ntomp: 4/2 (unit tests)
# Parallelism nt/ntomp: 2/1 (regression tests)
-gromacs:clang-8-cuda-10.1:release:configure:
+gromacs:clang-8-cuda-11.0:release:configure:
extends:
- .gromacs:base:release:configure
- .use-clang:base
- .use-cuda
- .rules:nightly-only-for-release
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.1
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-8-cuda-11.0
variables:
COMPILER_MAJOR_VERSION: 8
RELEASE_BUILD_DIR: release-builds-clang
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
-gromacs:clang-8-cuda-10.1:release:build:
+gromacs:clang-8-cuda-11.0:release:build:
extends:
- .variables:default
- .gromacs:base:build
stage: release-build
variables:
BUILD_DIR: release-builds-clang
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.1
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-8-cuda-11.0
needs:
- - job: gromacs:clang-8-cuda-10.1:release:configure
+ - job: gromacs:clang-8-cuda-11.0:release:configure
-gromacs:clang-8-cuda-10.1:release:test:
+gromacs:clang-8-cuda-11.0:release:test:
extends:
- .gromacs:base:test
- .rules:nightly-only-for-release
stage: release-tests
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.1
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-8-cuda-11.0
variables:
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
tags:
- k8s-scilifelab
needs:
- - job: gromacs:clang-8-cuda-10.1:release:configure
- - job: gromacs:clang-8-cuda-10.1:release:build
+ - job: gromacs:clang-8-cuda-11.0:release:configure
+ - job: gromacs:clang-8-cuda-11.0:release:build
-gromacs:clang-8-cuda-10.1:release:regressiontest:
+gromacs:clang-8-cuda-11.0:release:regressiontest:
extends:
- .gromacs:base:regressiontest
- .rules:nightly-only-for-release
stage: release-tests
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.1
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-8-cuda-11.0
variables:
BUILD_DIR: release-builds-clang
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
tags:
- k8s-scilifelab
needs:
- - job: gromacs:clang-8-cuda-10.1:release:build
+ - job: gromacs:clang-8-cuda-11.0:release:build
- job: regressiontests:package
# Test goal: GCC with newest CUDA
# Test intents (should change rarely and conservatively):
# OS: Ubuntu oldest supported
-# GPU: CUDA newest supported
+# GPU: CUDA newest supported with its newest supported gcc
# HW: NVIDIA GPU
# CMake: oldest supported
# Scope: configure, build, unit tests
# Test implementation choices (free to change as needed):
-# OS: Ubuntu 18.04
-# Build type: RelWithAssert
-# Compiler: GCC 8
-# MPI: thread_MPI
-# GPU: CUDA 11.0
+# OS: Ubuntu 20.04
+# Build type: RelWithDebInfo
+# Compiler: GCC 10.2
+# GPU: CUDA 11.3
# SIMD: AVX2_256
# FFT: FFTW3
# Parallelism nt/ntomp: 4/2 (unit tests)
-gromacs:gcc-8-cuda-11.0:release:configure:
+gromacs:gcc-10-cuda-11.2: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-18.04-gcc-8-cuda-11.0
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.2.2
variables:
CMAKE: /usr/local/cmake-3.16.3/bin/cmake
- COMPILER_MAJOR_VERSION: 8
+ COMPILER_MAJOR_VERSION: 10
RELEASE_BUILD_DIR: release-builds-gcc
CMAKE_BUILD_TYPE_OPTIONS : "-DCMAKE_BUILD_TYPE=RelWithAssert"
CMAKE_REGRESSIONTEST_OPTIONS: ""
- regressiontests:package
- prepare-release-version
-gromacs:gcc-8-cuda-11.0:release:build:
+gromacs:gcc-10-cuda-11.2:release:build:
extends:
- .variables:default
- .gromacs:base:build
variables:
CMAKE: /usr/local/cmake-3.16.3/bin/cmake
BUILD_DIR: release-builds-gcc
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.2.2
needs:
- - job: gromacs:gcc-8-cuda-11.0:release:configure
+ - job: gromacs:gcc-10-cuda-11.2:release:configure
-gromacs:gcc-8-cuda-11.0:release:test:
+gromacs:gcc-10-cuda-11.2:release:test:
extends:
- .gromacs:base:test
- .rules:nightly-only-for-release
stage: release-tests
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.2.2
variables:
CMAKE: /usr/local/cmake-3.16.3/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
tags:
- k8s-scilifelab
needs:
- - job: gromacs:gcc-8-cuda-11.0:release:configure
- - job: gromacs:gcc-8-cuda-11.0:release:build
+ - job: gromacs:gcc-10-cuda-11.2:release:configure
+ - job: gromacs:gcc-10-cuda-11.2:release:build
# Test goal: CUDA GPU communications with OpenMPI
# Test intents (should change rarely and conservatively):
# OS: Ubuntu oldest supported
-# GPU: CUDA newest supported
+# GPU: CUDA newest supported with its newest supported gcc
# HW: dual NVIDIA GPU
# MPI: OpenMPI
# Features: GPU direct communications + update (regression tests with dual GPU)
# Scope: configure, build, regression tests
# Test implementation choices (free to change as needed):
-# OS: Ubuntu 18.04
+# OS: Ubuntu 20.04
# Build type: RelWithDebInfo
-# Compiler: GCC 8
-# GPU: CUDA 11.0
+# Compiler: GCC 10.2
+# GPU: CUDA 11.3
# SIMD: SSE 4.1
# FFT: FFTW3
# Parallelism np/ntomp: 4/1 (regression tests with dual GPU)
-gromacs:gcc-8-cuda-11.0:configureMPI:
+gromacs:gcc-10-cuda-11.2: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-18.04-gcc-8-cuda-11.0
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.2.2
variables:
CMAKE: /usr/local/cmake-3.18.4/bin/cmake
CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
- COMPILER_MAJOR_VERSION: 8
+ COMPILER_MAJOR_VERSION: 10
-gromacs:gcc-8-cuda-11.0:buildMPI:
+gromacs:gcc-10-cuda-11.2: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-18.04-gcc-8-cuda-11.0
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.2.2
variables:
CMAKE: /usr/local/cmake-3.18.4/bin/cmake
needs:
- - job: gromacs:gcc-8-cuda-11.0:configureMPI
+ - job: gromacs:gcc-10-cuda-11.2:configureMPI
-gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-MPI:
+gromacs:gcc-10-cuda-11.2: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-18.04-gcc-8-cuda-11.0
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10-cuda-11.2.2
variables:
CMAKE: /usr/local/cmake-3.18.4/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
tags:
- k8s-scilifelab
needs:
- - job: gromacs:gcc-8-cuda-11.0:buildMPI
+ - job: gromacs:gcc-10-cuda-11.2:buildMPI
- job: regressiontests:prepare
artifacts:
paths:
# Features: GPU update (regression tests with dual GPU)
# Scope: configure, build, unit tests, regression tests
# Test implementation choices (free to change as needed):
-# OS: Ubuntu 18.04
+# OS: Ubuntu 20.04
# Build type: Debug
# Compiler: GCC 7
-# GPU: CUDA 10.2
+# GPU: CUDA 11.0
# SIMD: SSE 4.1
# FFT: FFTW3
# Parallelism nt/ntomp: 4/2 (unit tests)
# Parallelism nt/ntomp: 2/1 (regression tests)
# Parallelism nt/ntomp: 4/1 (regression tests with dual GPU)
-gromacs:gcc-7-cuda-10.2:configure:
+gromacs:gcc-7-cuda-11.0: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-7-cuda-10.2
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
variables:
CMAKE: /usr/local/cmake-3.17.2/bin/cmake
CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
COMPILER_MAJOR_VERSION: 7
-gromacs:gcc-7-cuda-10.2:build:
+gromacs:gcc-7-cuda-11.0: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-cuda-10.2
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
variables:
CMAKE: /usr/local/cmake-3.17.2/bin/cmake
needs:
- - job: gromacs:gcc-7-cuda-10.2:configure
+ - job: gromacs:gcc-7-cuda-11.0:configure
-gromacs:gcc-7-cuda-10.2:test:
+gromacs:gcc-7-cuda-11.0:test:
extends:
- .gromacs:base:test
- .rules:merge-requests
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
variables:
CMAKE: /usr/local/cmake-3.17.2/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
tags:
- k8s-scilifelab
needs:
- - job: gromacs:gcc-7-cuda-10.2:build
+ - job: gromacs:gcc-7-cuda-11.0:build
-gromacs:gcc-7-cuda-10.2:test-gpucommupd:
+gromacs:gcc-7-cuda-11.0:test-gpucommupd:
extends:
- .gromacs:base:test
- .rules:post-merge-acceptance
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
variables:
CMAKE: /usr/local/cmake-3.17.2/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
tags:
- k8s-scilifelab
needs:
- - job: gromacs:gcc-7-cuda-10.2:build
+ - job: gromacs:gcc-7-cuda-11.0:build
-gromacs:gcc-7-cuda-10.2:regressiontest:
+gromacs:gcc-7-cuda-11.0:regressiontest:
extends:
- .gromacs:base:regressiontest
- .rules:merge-requests
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
variables:
CMAKE: /usr/local/cmake-3.17.2/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
tags:
- k8s-scilifelab
needs:
- - job: gromacs:gcc-7-cuda-10.2:build
+ - job: gromacs:gcc-7-cuda-11.0:build
- job: regressiontests:prepare
-gromacs:gcc-7-cuda-10.2:regressiontest-gpucommupd-tMPI:
+gromacs:gcc-7-cuda-11.0:regressiontest-gpucommupd-tMPI:
extends:
- .gromacs:base:regressiontest
- .rules:post-merge-acceptance
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
variables:
CMAKE: /usr/local/cmake-3.17.2/bin/cmake
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
tags:
- k8s-scilifelab
needs:
- - job: gromacs:gcc-7-cuda-10.2:build
+ - job: gromacs:gcc-7-cuda-11.0:build
- job: regressiontests:prepare
artifacts:
paths:
when: always
expire_in: 1 week
-gromacs:gcc-7-cuda-10.2:regressiontest-upd-tMPI:
+gromacs:gcc-7-cuda-11.0:regressiontest-upd-tMPI:
extends:
- .gromacs:base:regressiontest
- .rules:post-merge-acceptance
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
variables:
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
tags:
- k8s-scilifelab
needs:
- - job: gromacs:gcc-7-cuda-10.2:build
+ - job: gromacs:gcc-7-cuda-11.0:build
- job: regressiontests:prepare
artifacts:
paths: