#!/usr/bin/env bash set -x WORKDIR="$1" VERSION="$2" shift 2 if [ ! -d "$WORKDIR" ] || [ -z "$VERSION" ] then echo "[E] missing args: Invoke as .gitlab/ci/config/kokkos.sh [extra_args]" exit 1 fi # Build and install Kokkos curl -L "https://github.com/kokkos/kokkos/archive/refs/tags/$VERSION.tar.gz" \ | tar -C "$WORKDIR" -xzf - cmake -S "$WORKDIR/kokkos-$VERSION" -B "$WORKDIR/kokkos_build" \ "-DCMAKE_BUILD_TYPE:STRING=release" \ "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache" \ "-DCMAKE_CXX_STANDARD:STRING=17" \ "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON" \ "-DKokkos_ENABLE_HIP:BOOL=ON" \ "-DKokkos_ENABLE_HIP_RELOCATABLE_DEVICE_CODE:BOOL=OFF" \ "-DKokkos_ENABLE_SERIAL:BOOL=ON" \ $* cmake --build "$WORKDIR/kokkos_build" cmake --install "$WORKDIR/kokkos_build"