Require C++14
[alexxy/gromacs.git] / admin / builds / pre-submit-matrix.txt
1 # Comment line(s) preceding each configuration document the main
2 # intent behind that configuration, so that we can correctly judge
3 # whether to preserve that during maintenance decisions.
4 #
5 # Other configurations might coincidentally test such configurations
6 # (e.g. because they are the current default), but it is appropriate
7 # to intend to teach each feature (or a feature combination) exactly
8 # once, and for the intent to be reflected precisely in the
9 # configuration syntax, so that the configurations are stable even
10 # if the defaults change in future.
11 #
12 # The phrase "at time of release" refers to either the initial
13 # GROMACS release from that branch, or the next expected release
14 # from that branch. (We will tend not to retroactively support
15 # newer infrastructure in CI, unless it's either easy or of
16 # high impact.)
17
18 # Test oldest supported gcc
19 # Test oldest supported CUDA
20 # Test oldest supported Ubuntu
21 # Test MPI with CUDA
22 # Test MPI with gcc
23 # Test MPMD PME with library MPI
24 # TODO: reenable after minimum CUDA version is compatible with C++14 host build
25 # gcc-5 gpuhw=nvidia cuda-8.0 cmake-3.10.0 mpi npme=1 nranks=2 openmp
26
27 # Test non-default use of mdrun -gpu_id
28 # Test newest gcc supported by newest CUDA at time of release
29 # Test thread-MPI with CUDA
30 # Test SIMD implementation of pair search for GPU code-path
31 gcc-7 gpuhw=nvidia gpu_id=1 cuda-10.0 thread-mpi openmp cmake-3.10.0 release-with-assert simd=avx2_256
32
33 # Test with libcxx
34 # Test with ThreadSanitizer + OpenMP + SIMD
35 clang-7 no-hwloc tsan libcxx-7 openmp cmake-3.12.1 simd=avx2_256
36
37 # Test on MacOS (the gcc-8 and/or x11 flags implicitly steer jobs to the OSX agent)
38 # Test X11 build
39 # Test gcc in double precision
40 # Test without TNG support
41 # Test 128-bit SIMD in double precision (to cover SimdInt32 support better)
42 # Test fftpack fallback
43 gcc-8 double x11 no-tng fftpack simd=sse4.1
44
45 # Test oldest supported clang (while avoiding AVX codegen issues in it)
46 # Test without OpenMP
47 # Test thread-MPI
48 # Test with TNG support
49 clang-3.6 simd=sse2 thread-mpi no-openmp fftpack cmake-3.11.4 tng
50
51 # Test newest clang at time of release
52 # Test with AddressSanitizer (without OpenMP, see below)
53 clang-7 no-openmp asan cmake-3.11.4
54
55 # Test with clang-tidy (without OpenMP)
56 clang-7 no-openmp cmake-3.12.1 tidy
57
58 # Test oldest supported MSVC on Windows
59 # Test newest supported MSVC on Windows
60 msvc-2017 openmp release-with-assert
61
62 # Test newest icc at the time of release
63 # Test icc without SIMD in double precision in release mode
64 # Test MKL
65 # Test without any MPI
66 # Test on CentOS (because cmake-3.9.6 is available there)
67 # Test hwloc support
68 icc-19 no-thread-mpi double openmp mkl cmake-3.9.6 simd=none release hwloc
69
70 # Test oldest supported cmake
71 # Test NVIDIA OpenCL
72 # Test external clFFT (for build speed)
73 # Test MPI + OpenCL
74 # Test AVX2_256 SIMD
75 gcc-6 openmp gpuhw=nvidia opencl-1.2 clFFT-2.14 cmake-3.9.6 mpi simd=avx2_256
76
77 # Test AMD OpenCL
78 # Test external clFFT (for build speed)
79 # Test AVX_128_FMA SIMD
80 # Test newest gcc at time of release
81 gcc-8 openmp simd=avx2_256 gpuhw=amd opencl-1.2 clFFT-2.14 buildfftw
82
83 # TODO
84 # Test newest cmake at time of release
85 # Add OpenMP support to ASAN build (but libomp.so in clang-4 reports leaks, so might need a suitable build or suppression)
86 # Test hwloc-2 support
87 # Test newest supported LTS Ubuntu
88 # Test AVX-512 when hardware is available
89 # Add tests that trigger make ocl-kernel