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
6 # Scope: configure, build
7 # Test implementation choices (free to change as needed):
9 # Build type: RelWithAssert
10 # Compiler: Clang 13 (from ROCm)
14 gromacs:hipsycl-dev:configure:
16 - .gromacs:base:configure
19 - .rules:merge-and-post-merge-acceptance
20 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-12-cuda-11.4.1-hipsycl-7a309b808-rocm-4.3
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 # Override the default clang compiler to the one provided by ROCm
26 # Note that this compiler can only build for HIP targets. If this
27 # changes (or we build our own clang) then it would be nice to
28 # reinstate CUDA targets in -DHIPSYCL_TARGETS below.
29 CMAKE_COMPILER_SCRIPT: -DCMAKE_C_COMPILER=/opt/rocm/llvm/bin/clang -DCMAKE_CXX_COMPILER=/opt/rocm/llvm/bin/clang++
30 CMAKE_GPU_OPTIONS: "-DGMX_GPU=SYCL -DGMX_SYCL_HIPSYCL=ON -DHIPSYCL_TARGETS='hip:gfx900'"
31 # Unset COMPILER_LAUNCHER (previously set to ccache) because it conflicts with hipSYCL's syclcc-launcher
32 CMAKE_EXTRA_OPTIONS: "-DCMAKE_C_COMPILER_LAUNCHER= -DCMAKE_CXX_COMPILER_LAUNCHER="
33 COMPILER_MAJOR_VERSION: 13
35 gromacs:hipsycl-dev:build:
39 - .before_script:default
40 # Not using ccache because it plays poorly with syclcc-launcher
41 - .rules:merge-and-post-merge-acceptance
42 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-12-cuda-11.4.1-hipsycl-7a309b808-rocm-4.3
44 CMAKE: /usr/local/cmake-3.18.4/bin/cmake
48 - job: gromacs:hipsycl-dev:configure