4de9ff7a5c482689ea55e60a8fed31c181aff23e
[alexxy/gromacs.git] / admin / gitlab-ci / gromacs.matrix / gromacs.gcc-9-release.gitlab-ci.yml
1 # Test goal: Release build with GCC and OpenCL
2 # Test intents (should change rarely and conservatively):
3 #   OS: Ubuntu oldest supported
4 #   Compiler: GCC
5 #   GPU: OpenCL
6 #   HW: AMD GPU
7 #   Scope: configure, build, unit tests, regression tests
8 # Test implementation choices (free to change as needed):
9 #   OS: Ubuntu 18.04
10 #   Build type: RelWithAssert
11 #   Compiler: GCC 9
12 #   MPI: thread_MPI
13 #   SIMD: AVX2_256
14 #   FFT: FFTW3
15 #   Parallelism nt/ntomp: 4/2 (unit tests)
16 #   Parallelism nt/ntomp: 2/1 (regression tests)
17
18 gromacs:gcc-9:release:configure:
19   extends:
20     - .gromacs:base:release:configure
21     - .use-gcc:base
22     - .use-opencl
23     - .rules:nightly-only-for-release
24   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
25   variables:
26     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
27     COMPILER_MAJOR_VERSION: 9
28     RELEASE_BUILD_DIR: release-builds-gcc
29     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
30   dependencies:
31     - archive:package
32     - regressiontests:package
33     - prepare-release-version
34
35 gromacs:gcc-9:release:build:
36   # Test using configuration: gromacs:gcc-9:release:configure
37   # Test scope: build
38   extends:
39     - .variables:default
40     - .gromacs:base:build
41     - .before_script:default
42     - .use-ccache
43     - .rules:nightly-only-for-release
44   stage: release-build
45   variables:
46     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
47     BUILD_DIR: release-builds-gcc
48   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
49   needs:
50     - job: gromacs:gcc-9:release:configure
51
52 gromacs:gcc-9:release:test:
53   extends:
54     - .gromacs:base:test
55     - .rules:nightly-only-for-release
56   stage: release-tests
57   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
58   variables:
59     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
60     BUILD_DIR: release-builds-gcc
61     KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
62     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
63     LD_LIBRARY_PATH: "/opt/rocm-3.5.0/opencl/lib"
64   tags:
65     - k8s-scilifelab
66   needs:
67     - job: gromacs:gcc-9:release:configure
68     - job: gromacs:gcc-9:release:build
69
70 gromacs:gcc-9:release:regressiontest:
71   extends:
72     - .gromacs:base:regressiontest
73     - .rules:nightly-only-for-release
74   stage: release-tests
75   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
76   variables:
77     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
78     BUILD_DIR: release-builds-gcc
79     KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
80     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
81     REGRESSIONTEST_PME_RANK_NUMBER: 0
82     REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
83     REGRESSIONTEST_OMP_RANK_NUMBER: 1
84     LD_LIBRARY_PATH: "/opt/rocm-3.5.0/opencl/lib"
85   tags:
86     - k8s-scilifelab
87   needs:
88     - job: gromacs:gcc-9:release:build
89     - job: regressiontests:package
90