# This matrix is intended to permit Jenkins:
# - nigtly testing of the GPU update features in the 2020 release
# - on-demand testing of the GPU update code path
# This is neceassary due to:
# i) the limitations of the integration tests which only test the deafult code-path
# ii) limitations of the regresssion tests which are not able to rerun update with a
#     different offload mode unless the default is observed to be GPU.
#
# 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.

# Test GPU update-constraints features on a single PP+PME rank
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 gpuupdate

# Test GPU update-constraints features in a CUDA build without CUDA devices
gcc-7 gpuhw=none cuda-10.0 openmp no-tng release-with-assert gpuupdate

# Test GPU update-constraints on the OpenCL path where it is unsupported
clang-8 openmp gpuhw=amd opencl-1.2 clFFT-2.14 simd=None gpuupdate

# Test GPU update-constraints features with multiple PP ranks and one PME rank
# Note: this should fall back correctly to the CPU codepath
gcc-5 gpuhw=nvidia cuda-9.0 cmake-3.9.6 thread-mpi npme=1 nranks=3 release-with-assert gpuupdate
