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
57 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
58 CMAKE_GPU_OPTIONS: -DGMX_GPU=SYCL
60 # Base definition for using gcc.
63 CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=gcc-$COMPILER_MAJOR_VERSION -DCMAKE_CXX_COMPILER=g++-$COMPILER_MAJOR_VERSION
66 - export CCACHE_BASEDIR=${PWD}
67 - export CCACHE_DIR=${PWD}/ccache
69 # Base definition for using clang.
72 CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=clang-$COMPILER_MAJOR_VERSION -DCMAKE_CXX_COMPILER=clang++-$COMPILER_MAJOR_VERSION
75 - export CCACHE_BASEDIR=${PWD}
76 - export CCACHE_DIR=${PWD}/ccache
77 - export ASAN_SYMBOLIZER_PATH=/usr/local/bin/llvm-symbolizer
79 # Base definition for using oneAPI.
82 # Use the HPC variants of icc and icpc so that OpenMP is active
83 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
84 CMAKE_EXTRA_OPTIONS: -DGMX_FFT_LIBRARY=mkl
86 # Necessary to override gitlab default 'set -e' which breaks Intel's
89 - source /opt/intel/oneapi/setvars.sh
92 - export CCACHE_BASEDIR=${PWD}
93 - export CCACHE_DIR=${PWD}/ccache