37704f40404df23fe8c93503484b3b59e82c188e
[alexxy/gromacs.git] / admin / gitlab-ci / gromacs.matrix / gromacs.gcc-8-cuda-11.0.gitlab-ci.yml
1 # Test goal: CUDA GPU communications with OpenMPI
2 # Test intents (should change rarely and conservatively):
3 #   OS: Ubuntu oldest supported
4 #   GPU: CUDA newest supported
5 #   HW: dual NVIDIA GPU
6 #   MPI: OpenMPI
7 #   Features: GPU direct communications + update (regression tests with dual GPU)
8 #   Scope: configure, build, regression tests
9 # Test implementation choices (free to change as needed):
10 #   OS: Ubuntu 18.04
11 #   Build type: RelWithDebInfo
12 #   Compiler: GCC 8
13 #   GPU: CUDA 11.0
14 #   SIMD: SSE 4.1
15 #   FFT: FFTW3
16 #   Parallelism np/ntomp: 4/1 (regression tests with dual GPU)
17
18 gromacs:gcc-8-cuda-11.0:configureMPI:
19   extends:
20     - .gromacs:base:configure
21     - .use-gcc:base
22     - .use-cuda
23     - .use-mpi
24     - .rules:merge-and-post-merge-acceptance
25   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
26   variables:
27     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
28     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
29     COMPILER_MAJOR_VERSION: 8
30
31 gromacs:gcc-8-cuda-11.0:buildMPI:
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-18.04-gcc-8-cuda-11.0
39   variables:
40     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
41   needs:
42     - job: gromacs:gcc-8-cuda-11.0:configureMPI
43
44 gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-MPI:
45   # Test parallelism np/ntomp: 4/1
46   # Test parallelism GPU: direct communications, update
47   extends:
48     - .gromacs:base:regressiontest
49     - .rules:post-merge-acceptance
50   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
51   variables:
52     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
53     KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
54     KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
55     REGRESSIONTEST_PME_RANK_NUMBER: 0
56     REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
57     REGRESSIONTEST_OMP_RANK_NUMBER: 1
58     REGRESSIONTEST_PARALLEL: "-np"
59     GMX_GPU_DD_COMMS: 1  
60     GMX_GPU_PME_PP_COMMS: 1
61     GMX_FORCE_UPDATE_DEFAULT_GPU: 1
62   tags:
63     - k8s-scilifelab
64   needs:
65     - job: gromacs:gcc-8-cuda-11.0:buildMPI
66     - job: regressiontests:prepare
67   artifacts:
68     paths:
69       - regressiontests
70     when: always
71     expire_in: 1 week
72