# This matrix is intended to permit Jenkins on-demand testing
# of code hidden behind the GMX_USE_BUFFER_OPS feature flag
# during development. When the feature flag is removed, the
# normal test matrices will be adapted to cover this code path.
#
# 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.
#
# Both configurations currently target bs_nix1204, for better load
# balance with pre-submit matrix, which makes heavier use of
# bs_nix1310 agent.

# Test an older version of CUDA
# Test MPI with CUDA
# Test MPMD PME with library MPI
# Test gpubufferops features in the above combination
gcc-5 gpuhw=nvidia cuda-9.0 mpi npme=1 nranks=2 openmp gpubufferops

# Test newest gcc supported by newest CUDA at time of release
# Test thread-MPI with CUDA
# Test gpubufferops features in the above combination
gcc-8 gpuhw=nvidia nranks=1 gpu_id=1 cuda-10.1 thread-mpi openmp cmake-3.10.0 release-with-assert simd=avx2_256 hwloc libhwloc-2.0.4 gpubufferops

# Test non-default use of mdrun -gpu_id
# Test GPU-sharing among 4 PP ranks
# Test no hwloc build, tests internal CPU topology detection (mainly for x86)
# Test gpubufferops in the above combination
gcc-7 gpuhw=nvidia nranks=4 gpu_id=1 cuda-10.0 no-hwloc release-with-assert gpubufferops

# Test CUDA build on a agent with no CUDA devices
# Test without TNG support
# Test gpubufferops in the above combination
gcc-7 gpuhw=none cuda-10.0 openmp no-tng release-with-assert gpubufferops

# Test OpenCL build with gpudev features
# Test gpubufferops on the OpenCL path where it is unsupported
clang-8 openmp gpuhw=amd opencl-1.2 clFFT-2.14 simd=None gpubufferops
