Port basic pull test to gtest framework
[alexxy/gromacs.git] / admin / gitlab-ci / gromacs.matrix / gromacs.gcc-10.gitlab-ci.yml
1 # Test goal: newest GCC with OpenCL
2 # Test intents (should change rarely and conservatively):
3 #   OS: Ubuntu newest supported
4 #   Compiler: GCC newest supported
5 #   GPU: OpenCL
6 #   FFT: CLFFT
7 #   HW: AMD GPU
8 #   Scope: configure, build, unit tests, regression tests
9 # Test implementation choices (free to change as needed):
10 #   OS: Ubuntu 20.04
11 #   Build type: Debug
12 #   Compiler: GCC 10
13 #   MPI: thread_MPI
14 #   SIMD: AVX2_256
15 #   Parallelism nt/ntomp: 4/2 (unit tests)
16 #   Parallelism nt/ntomp: 2/1 (regression tests)
17
18 gromacs:gcc-10:configure:
19   extends:
20     - .gromacs:base:configure
21     - .use-gcc:base
22     - .use-opencl
23     - .rules:merge-and-post-merge-acceptance
24   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
25   variables:
26     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
27     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
28     CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
29     COMPILER_MAJOR_VERSION: 10
30
31 gromacs:gcc-10:build:
32   extends:
33     - .variables:default
34     - .gromacs:base:build
35     - .before_script:default
36     - .use-ccache
37     - .rules:merge-and-post-merge-acceptance
38   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
39   variables:
40     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
41   needs:
42     - job: gromacs:gcc-10:configure
43
44 gromacs:gcc-10:test:
45   extends:
46     - .gromacs:base:test
47     - .rules:merge-requests
48   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
49   variables:
50     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
51     KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
52     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
53     LD_LIBRARY_PATH: "/opt/rocm-3.5.0/opencl/lib"
54   tags:
55     - k8s-scilifelab
56   needs:
57     - job: gromacs:gcc-10:build
58
59 gromacs:gcc-10:regressiontest:
60   extends:
61     - .gromacs:base:regressiontest
62     - .rules:post-merge-acceptance
63   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
64   variables:
65     CMAKE: /usr/local/cmake-3.16.3/bin/cmake
66     KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
67     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
68     REGRESSIONTEST_PME_RANK_NUMBER: 0
69     REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
70     REGRESSIONTEST_OMP_RANK_NUMBER: 1
71     LD_LIBRARY_PATH: "/opt/rocm-3.5.0/opencl/lib"
72   tags:
73     - k8s-scilifelab
74   needs:
75     - job: gromacs:gcc-10:build
76     - job: regressiontests:prepare
77