808f6eaaea5cbccb0a3a5b1e84e0e3522557f542
[alexxy/gromacs.git] / admin / gitlab-ci / gromacs.matrix / gromacs.hipsycl-dev.gitlab-ci.yml
1 # Test goal: build with hipSYCL (both CUDA and ROCm backends) to check SYCL code compatibility
2 # Test intents (should change rarely and conservatively):
3 #   OS: Ubuntu newest supported
4 #   Compiler: Clang newest supported
5 #   GPU: hipSYCL
6 #   Scope: configure, build
7 # Test implementation choices (free to change as needed):
8 #   OS: Ubuntu 20.04
9 #   Build type: RelWithAssert
10 #   Compiler: Clang 11
11 #   MPI: thread_MPI
12 #   SIMD: AVX2_256
13
14 gromacs:hipsycl-dev:configure:
15   extends:
16     - .gromacs:base:configure
17     - .use-clang:base
18     - .use-sycl
19     - .rules:merge-and-post-merge-acceptance
20   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.2.2-hipsycl-9867a7b-rocm-4.0.1
21   variables:
22     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
23     CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
24     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
25     CMAKE_GPU_OPTIONS: "-DGMX_GPU=SYCL -DGMX_SYCL_HIPSYCL=ON -DHIPSYCL_TARGETS='cuda:sm_60,sm_61,sm_70,sm_75;hip:gfx900'"
26     # Unset COMPILER_LAUNCHER (previously set to ccache) because it conflicts with hipSYCL's syclcc-launcher
27     CMAKE_EXTRA_OPTIONS: "-DCMAKE_C_COMPILER_LAUNCHER= -DCMAKE_CXX_COMPILER_LAUNCHER="
28     COMPILER_MAJOR_VERSION: 11
29
30 gromacs:hipsycl-dev:build:
31   extends:
32     - .variables:default
33     - .gromacs:base:build
34     - .before_script:default
35     # Not using ccache because it plays poorly with syclcc-launcher
36     - .rules:merge-and-post-merge-acceptance
37   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.2.2-hipsycl-9867a7b-rocm-4.0.1
38   variables:
39     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
40   tags:
41     - k8s-scilifelab
42   needs:
43     - job: gromacs:hipsycl-dev:configure
44