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: 8Gi
15 KUBERNETES_EXTENDED_RESOURCE_NAME: ""
16 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 0
17 CACHE_FALLBACK_KEY: "$CI_JOB_NAME-$CI_JOB_STAGE-master"
20 CMAKE_GMXAPI_OPTIONS: ""
22 # Our generic before_script to install dependencies and prepare the ccache directory.
23 .before_script:default:
26 - export CCACHE_BASEDIR=${PWD}
27 - export CCACHE_DIR=${PWD}/ccache
29 # Behavioral templates
31 # Use a persistent compiler cache to speed up rebuilds for a single job.
34 key: "$CI_JOB_NAME-$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG"
42 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
43 CMAKE_GPU_OPTIONS: -DGMX_GPU=CUDA
47 CMAKE_MPI_OPTIONS: "-DGMX_MPI=ON"
51 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
52 CMAKE_GPU_OPTIONS: -DGMX_GPU=OpenCL
54 # Base definition for using gcc.
57 CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=gcc-$COMPILER_MAJOR_VERSION -DCMAKE_CXX_COMPILER=g++-$COMPILER_MAJOR_VERSION
60 - export CCACHE_BASEDIR=${PWD}
61 - export CCACHE_DIR=${PWD}/ccache
63 # Base definition for using clang.
66 CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=clang-$COMPILER_MAJOR_VERSION -DCMAKE_CXX_COMPILER=clang++-$COMPILER_MAJOR_VERSION
69 - export CCACHE_BASEDIR=${PWD}
70 - export CCACHE_DIR=${PWD}/ccache
71 - export ASAN_SYMBOLIZER_PATH=/usr/local/bin/llvm-symbolizer
73 # Base definition for using oneAPI.
76 # Use the HPC variants of icc and icpc so that OpenMP is active
77 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
78 CMAKE_EXTRA_OPTIONS: -DGMX_FFT_LIBRARY=mkl
81 - export CCACHE_BASEDIR=${PWD}
82 - export CCACHE_DIR=${PWD}/ccache