Merge branch release-2016 into release-2018
[alexxy/gromacs.git] / admin / builds / pre-submit-matrix.txt
index f773307e779a9debf3f23c6becf4efe82d87f880..3a4707b837468c868a49ae0a30365943484f572e 100644 (file)
@@ -8,61 +8,83 @@
 # 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.
+#
+# 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.)
 
 # Test older gcc
 # Test oldest supported CUDA
-# Test oldest supported cmake
 # Test oldest supported Ubuntu
-# Test X11 build
 # Test MPI with CUDA
 # Test MPMD PME with library MPI
-gcc-4.6 gpu cuda-5.0 mpi npme=1 nranks=2 openmp x11 cmake-2.8.8
-
-# Test newest gcc supported by newest CUDA shortly after the release
-# Test SIMD implementation of pair search for GPU code-path
-gcc-5 gpu cuda-8.0 openmp simd=avx2_256
+# Test cmake FindCUDA functionality introduced in 3.8
+gcc-4.8 gpu cuda-6.5 cmake-3.8.1 mpi npme=1 nranks=2 openmp
 
 # Test newest gcc supported by newest CUDA at time of release
 # Test thread-MPI with CUDA
-gcc-4.8 gpu thread-mpi cuda-7.5 openmp release
+# Test cmake version from before new FindCUDA support (in 3.8)
+# Test SIMD implementation of pair search for GPU code-path
+gcc-5 gpu cuda-8.0 thread-mpi openmp cmake-3.6.1 release-with-assert simd=avx2_256
 
-# Test with ThreadSanitizer
-# Test AVX2_256 SIMD
+# Test newest cmake at time of release
+# 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)
 # Test fftpack fallback
-gcc-4.9 tsan fftpack simd=avx2_256
+gcc-7 tsan no-openmp fftpack cmake-3.10.0
 
 # Test newest gcc at time of release
+# 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
+
 # Test on MacOS (because gcc-6 is only available there)
-gcc-6 double
+# Test X11 build
+gcc-6 x11
 
+# Test oldest supported cmake
 # Test older clang
-# Test double precision
-# Test with AddressSanitizer
+# Test clang in double precision
 # Test without OpenMP
 # Test thread-MPI
-clang-3.4 double thread-mpi no-openmp fftpack asan
+# 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
+
+# Test newest clang at time of release
+# Test with AddressSanitizer (without OpenMP, see below)
+clang-5 no-openmp asan
 
 # Test oldest supported MSVC on Windows
 # Test newest supported MSVC on Windows
-msvc-2015 openmp release
+msvc-2015 openmp release-with-assert
 
-# Test newest cmake at time of release
+# Test newest icc at the time of release
+# Test icc without SIMD in double precision in release mode
 # Test MKL
 # Test without any MPI
-# Test on CentOS (because icc-16.0 is only available there)
-icc-16.0 no-thread-mpi openmp mkl cmake-3.3.2 simd=avx_256
-
-# Test AVX_128_FMA SIMD
-gcc-5 mpi openmp simd=avx_128_fma
+# 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
 
 # Test NVIDIA OpenCL
 # Test MPI + OpenCL
-gcc-4.8 openmp opencl cuda-7.5 mpi release
+# Test AVX2_256 SIMD
+# Test icc with SIMD in mixed precision in release mode
+icc-18 openmp opencl cuda-7.5 mpi release simd=avx2_256
 
 # Test AMD OpenCL
-gcc-5 openmp opencl amdappsdk-3.0
+# Test AVX_128_FMA SIMD
+gcc-5 openmp simd=avx_128_fma opencl amdappsdk-3.0
 
 # TODO
+# Add support for CUDA 9.0
+# Add OpenMP support to ASAN build (but libomp.so in clang-4 reports leaks, so might need a suitable build or suppression)
 # Test hwloc support
-# Test newest supported Ubuntu
-# Migrate ThreadSanitizer test off GPU build slave
+# 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
+# Test AVX-512 when hardware is available