pre-submit-matrix.txt 3.36 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
# Comment line(s) preceding each configuration document the main
# intent behind that configuration, so that we can correctly judge
# whether to preserve that during maintenance decisions.
#
# Other configurations might coincidentally test such configurations
# (e.g. because they are the current default), but it is appropriate
# to intend to teach each feature (or a feature combination) exactly
# once, and for the intent to be reflected precisely in the
# configuration syntax, so that the configurations are stable even
# if the defaults change in future.
11 12 13 14 15 16
#
# The phrase "at time of release" refers to either the initial
# GROMACS release from that branch, or the next expected release
# from that branch. (We will tend not to retroactively support
# newer infrastructure in CI, unless it's either easy or of
# high impact.)
17 18 19 20 21

# Test older gcc
# Test oldest supported CUDA
# Test oldest supported Ubuntu
# Test MPI with CUDA
22
# Test cmake version from before new FindCUDA support (in 3.8)
23
# Test MPMD PME with library MPI
24
gcc-4.8 gpu cuda-6.5 cmake-3.6.1 mpi npme=1 nranks=2 openmp
25 26 27

# Test newest gcc supported by newest CUDA at time of release
# Test thread-MPI with CUDA
28
# Test cmake FindCUDA functionality introduced in 3.8
29
# Test SIMD implementation of pair search for GPU code-path
30
gcc-6 gpu cuda-9.0 thread-mpi openmp cmake-3.8.1 release-with-assert simd=avx2_256
31

32
# Test newest cmake at time of release
33 34 35 36
# Test with ThreadSanitizer (compiled without OpenMP, even though
#   this gcc was configured with --disable-linux-futex, because
#   Redmine #1850 is unresolved, which causes more suspected
#   false positives than races detected)
37
# Test fftpack fallback
38
gcc-7 tsan no-openmp fftpack cmake-3.10.0
39 40

# Test newest gcc at time of release
41 42 43
# Test gcc in double precision
# Test 128-bit SIMD in double precision (to cover SimdInt32 support better)
gcc-7 double mpi simd=avx_128_fma
44

45
# Test on MacOS (because gcc-6 is only available there)
46
# Test X11 build
47
gcc-6 x11
48

49
# Test oldest supported cmake
50
# Test older clang
51
# Test clang in double precision
52 53
# Test without OpenMP
# Test thread-MPI
54 55
# Test AVX_128_FMA SIMD + Double (Important for Simd4N=Simd4 and sizeof(SimdInt32)!=4*GMX_SIMD_REAL_WIDTH)
clang-3.4 double simd=avx_128_fma thread-mpi no-openmp fftpack cmake-3.4.3
56 57 58 59

# Test newest clang at time of release
# Test with AddressSanitizer (without OpenMP, see below)
clang-5 no-openmp asan
60 61 62

# Test oldest supported MSVC on Windows
# Test newest supported MSVC on Windows
63
msvc-2015 openmp release-with-assert
64

65
# Test newest icc at the time of release
66
# Test icc without SIMD in double precision in release mode
67 68
# Test MKL
# Test without any MPI
69 70
# Test on CentOS (because cmake-3.9.6 is available there)
icc-18 no-thread-mpi double openmp mkl cmake-3.9.6 simd=none release
71 72 73

# Test NVIDIA OpenCL
# Test MPI + OpenCL
74
# Test AVX2_256 SIMD
75 76
# Test icc with SIMD in mixed precision in release mode
icc-18 openmp opencl cuda-7.5 mpi release simd=avx2_256
77 78

# Test AMD OpenCL
79 80
# Test AVX_128_FMA SIMD
gcc-5 openmp simd=avx_128_fma opencl amdappsdk-3.0
81 82

# TODO
83
# Add OpenMP support to ASAN build (but libomp.so in clang-4 reports leaks, so might need a suitable build or suppression)
84
# Test hwloc support
85 86 87 88
# Test newest supported LTS Ubuntu
# Update gpu testing specifiers per https://redmine.gromacs.org/issues/2161
# Resolve Redmine #1850 so that ThreadSanitizer can test our OpenMP code
# Support icc 17
89
# Test AVX-512 when hardware is available