Merge branch release-2016
[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 older gcc
19 # Test oldest supported CUDA
20 # Test oldest supported Ubuntu
21 # Test X11 build
22 # Test MPI with CUDA
23 # Test MPMD PME with library MPI
24 gcc-4.8 gpu cuda-6.5 mpi npme=1 nranks=2 openmp x11
25
26 # Test newest gcc supported by newest CUDA at time of release
27 # Test thread-MPI with CUDA
28 # Test SIMD implementation of pair search for GPU code-path
29 gcc-5 gpu cuda-8.0 thread-mpi openmp release simd=avx2_256
30
31 # Test with ThreadSanitizer (without OpenMP, because of Redmine #1850)
32 # Test AVX2_256 SIMD
33 # Test fftpack fallback
34 gcc-4.9 tsan fftpack simd=avx2_256
35
36 # Test newest gcc at time of release
37 # Test on MacOS (because gcc-6 is only available there)
38 gcc-6 double
39
40 # Test older clang
41 # Test double precision
42 # Test without OpenMP
43 # Test thread-MPI
44 clang-3.4 double thread-mpi no-openmp fftpack
45
46 # Test newest clang at time of release
47 # Test with AddressSanitizer (without OpenMP, see below)
48 clang-4 no-openmp asan
49
50 # Test oldest supported MSVC on Windows
51 # Test newest supported MSVC on Windows
52 msvc-2015 openmp release
53
54 # Test oldest supported icc on Windows
55 # Test newest supported icc on Windows
56 icc-16.0 msvc-2015 fftpack
57
58 # Test newest cmake at time of release
59 # Test MKL
60 # Test without any MPI
61 # Test on CentOS (because icc-16.0 is only available there)
62 icc-16.0 no-thread-mpi openmp mkl cmake-3.6.1 simd=avx_256
63
64 # Test oldest supported cmake
65 # Test AVX_128_FMA SIMD
66 gcc-5 mpi openmp simd=avx_128_fma cmake-3.4.3
67
68 # Test NVIDIA OpenCL
69 # Test MPI + OpenCL
70 gcc-4.8 openmp opencl cuda-7.5 mpi release
71
72 # Test AMD OpenCL
73 gcc-5 openmp opencl amdappsdk-3.0
74
75 # TODO
76 # Add testing for support for cmake 3.8 for release-2017, e.g. to bs_mic and a CUDA slave (for the new CUDA support)
77 # Add testing for support for gcc 7 for release-2017, e.g. to bs_mac
78 # Add OpenMP support to a clang build, e.g. on a CUDA slave
79 # Add OpenMP support to ASAN build (but libomp.so in clang-4 reports leaks, so might need a suitable build or suppression)
80 # Test hwloc support
81 # Test newest supported LTS Ubuntu
82 # Migrate ThreadSanitizer test off GPU build slave
83 # Explore adding openmp to ThreadSanitizer configuration, perhaps can avoid Redmine #1850 if done differently
84 # Update gpu testing specifiers per https://redmine.gromacs.org/issues/2161