1 # Mix-in job definitions.
2 # The (hidden) job definitions in this file are available to the regular job
3 # definitions in other files because this file is first in the *include* list
4 # in the root `.gitlab-ci.yml` file.
6 # Centralized definitions of common job parameter values.
7 # Parameters with many optional configurations may be in separate files.
8 # Refer to the Infrastructure section of the GROMACS Developer Guide.
12 KUBERNETES_CPU_LIMIT: 8
13 KUBERNETES_CPU_REQUEST: 4
14 KUBERNETES_MEMORY_REQUEST: 4Gi
15 KUBERNETES_MEMORY_LIMIT: 8Gi
16 KUBERNETES_EXTENDED_RESOURCE_NAME: ""
17 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 0
18 CACHE_FALLBACK_KEY: "$CI_JOB_NAME-$CI_JOB_STAGE-master"
21 CMAKE_GMXAPI_OPTIONS: ""
23 # Our generic before_script to install dependencies and prepare the ccache directory.
24 .before_script:default:
27 - export CCACHE_BASEDIR=${PWD}
28 - export CCACHE_DIR=${PWD}/ccache
30 # Behavioral templates
32 # Use a persistent compiler cache to speed up rebuilds for a single job.
35 key: "$CI_JOB_NAME-$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG"
43 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
44 CMAKE_GPU_OPTIONS: -DGMX_GPU=CUDA
48 CMAKE_MPI_OPTIONS: "-DGMX_MPI=ON"
52 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
53 CMAKE_GPU_OPTIONS: -DGMX_GPU=OpenCL
55 # Base definition for using gcc.
58 CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=gcc-$COMPILER_MAJOR_VERSION -DCMAKE_CXX_COMPILER=g++-$COMPILER_MAJOR_VERSION
61 - export CCACHE_BASEDIR=${PWD}
62 - export CCACHE_DIR=${PWD}/ccache
64 # Base definition for using clang.
67 CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=clang-$COMPILER_MAJOR_VERSION -DCMAKE_CXX_COMPILER=clang++-$COMPILER_MAJOR_VERSION
70 - export CCACHE_BASEDIR=${PWD}
71 - export CCACHE_DIR=${PWD}/ccache
72 - export ASAN_SYMBOLIZER_PATH=/usr/local/bin/llvm-symbolizer
74 # Base definition for using oneAPI.
77 # Use the HPC variants of icc and icpc so that OpenMP is active
78 CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DCMAKE_INCLUDE_PATH=/opt/intel/oneapi/compiler/latest/linux/include/sycl -DCMAKE_PREFIX_PATH=/opt/intel/oneapi/compiler/latest/linux
79 CMAKE_EXTRA_OPTIONS: -DGMX_FFT_LIBRARY=mkl
81 # Necessary to override gitlab default 'set -e' which breaks Intel's
84 - source /opt/intel/oneapi/setvars.sh
87 - export CCACHE_BASEDIR=${PWD}
88 - export CCACHE_DIR=${PWD}/ccache