Add HeFFTe based FFT backend
[alexxy/gromacs.git] / admin / gitlab-ci / gromacs.matrix / gromacs.gcc-7-cuda-11.0-mpi.gitlab-ci.yml
1 # Test goal: old versions of GCC with CUDA; GPU communications with OpenMPI
2 # Test intents (should change rarely and conservatively):
3 #   OS: Ubuntu oldest supported
4 #   Compiler: GCC oldest supported
5 #   GPU: CUDA oldest supported
6 #   HW: NVIDIA GPU, single NVIDIA GPU
7 #   MPI: OpenMPI
8 #   Features: GPU direct communications + update (unit tests), HeFFTe support
9 #   Scope: configure, build, unit tests
10 # Test implementation choices (free to change as needed):
11 #   OS: Ubuntu 20.04
12 #   Build type: Debug
13 #   Compiler: GCC 7
14 #   GPU: CUDA 11.0
15 #   SIMD: SSE 4.1
16 #   FFT: FFTW3
17 #   Parallelism nt/ntomp: 4/2 (unit tests)
18
19 gromacs:gcc-7-cuda-11.0:configureMPI:
20   extends:
21     - .gromacs:base:configure
22     - .use-gcc:base
23     - .use-cuda
24     - .use-mpi
25     - .rules:merge-and-post-merge-acceptance
26   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
27   variables:
28     CMAKE: /usr/local/cmake-3.17.2/bin/cmake
29     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
30     CMAKE_EXTRA_OPTIONS: "-DGMX_USE_HEFFTE=ON"
31     COMPILER_MAJOR_VERSION: 7
32
33 gromacs:gcc-7-cuda-11.0:buildMPI:
34   extends:
35     - .variables:default
36     - .gromacs:base:build
37     - .before_script:default
38     - .use-ccache
39     - .rules:merge-and-post-merge-acceptance
40   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
41   variables:
42     CMAKE: /usr/local/cmake-3.17.2/bin/cmake
43   needs:
44     - job: gromacs:gcc-7-cuda-11.0:configureMPI
45
46 gromacs:gcc-7-cuda-11.0:testMPI:
47   extends:
48     - .gromacs:base:test
49     - .rules:merge-requests
50   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-7-cuda-11.0
51   variables:
52     CMAKE: /usr/local/cmake-3.17.2/bin/cmake
53     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
54     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
55   tags:
56     - k8s-scilifelab
57   needs:
58     - job: gromacs:gcc-7-cuda-11.0:buildMPI