How to install SYCL

Installing SYCL

Alien’s build system is based on CMake.

Getting the sources

git clone --recurse-submodules -b stable https://github.com/illuhad/hipSYCL

Configuring

export INSTALL_PREFIX=`pwd`/usr/local/gcc102
export HIPSYCL_INSTALL_PREFIX=${INSTALL_PATH}/sycl2020
export HIPSYCL_LLVM_INSTALL_PREFIX=${INSTALL_PATH}
export HIPSYCL_WITH_ROCM=OFF
export CC=${GCCCORE_ROOT}/bin/gcc
export CXX=${GCCCORE_ROOT}/bin/g++
export HIPSYCL_BASE_CC=gcc
export HIPSYCL_BASE_CXX=g++
export hipSYCL_DIR=${INSTALL_PATH}/sycl2020/lib/cmake/hipSYCL
export HIPSYCL_LLVM_BUILD_DIR=$PWD/llvm
export HIPSYCL_BUILD_DIR=$PWD/sycl2020/hipSYCL
mkdir build-hipSYCL
cmake  -S `pwd`/hipSYCL \
       -B `pwd`/build-hipSYCL \
      -DCMAKE_C_COMPILER=$HIPSYCL_LLVM_INSTALL_PREFIX/llvm/bin/clang \
      -DCMAKE_CXX_COMPILER=$HIPSYCL_LLVM_INSTALL_PREFIX/llvm/bin/clang++ \
      -DCMAKE_CXX_FLAGS:STRING='--gcc-toolchain=/work/gratienj/local/expl/eb/centos_7/easybuild/software/Core/GCCcore/10.2.0' \
      -DWITH_CPU_BACKEND=ON \
      -DWITH_CUDA_BACKEND=$HIPSYCL_WITH_CUDA \
      -DWITH_ROCM_BACKEND=$HIPSYCL_WITH_ROCM \
      -DLLVM_DIR=$HIPSYCL_LLVM_INSTALL_PREFIX/llvm/lib/cmake/llvm \
      -DROCM_PATH=$HIPSYCL_INSTALL_PREFIX/rocm \
      -DCUDA_TOOLKIT_ROOT_DIR=$HIPSYCL_LLVM_INSTALL_PREFIX/cuda \
      -DCLANG_EXECUTABLE_PATH=$HIPSYCL_LLVM_INSTALL_PREFIX/llvm/bin/clang++ \
      -DCLANG_INCLUDE_PATH=$LLVM_INCLUDE_PATH \
      -DCMAKE_INSTALL_PREFIX=$HIPSYCL_INSTALL_PREFIX \
      -DROCM_LINK_LINE='-rpath $HIPSYCL_ROCM_LIB_PATH -rpath $HIPSYCL_ROCM_PATH/hsa/lib -L$HIPSYCL_ROCM_LIB_PATH -lhip_hcc -lamd_comgr -lamd_hostcall -lhsa-runtime64 -latmi_runtime -rpath $HIPSYCL_ROCM_PATH/hcc/lib -L$HIPSYCL_ROCM_PATH/hcc/lib -lmcwamp -lhc_am' \

Installing

module load GCC/10.2.0
module load CUDA/10.1
module load Boost/1.74.0
module load CMake
#module load LLVM/11.0.0
#module load Clang/11.0.1

export CUDA_TOOLKIT_ROOT_DIR= ...
export CUDA_SDK_ROOT_DIR= ...
export INSTALL_PATH=`pwd`/Install

export HIPSYCL_PKG_LLVM_VERSION_MAJOR=10
export INSTALL_PREFIX=`pwd`/usr/local/gcc102
export HIPSYCL_INSTALL_PREFIX=${INSTALL_PATH}/sycl2020
export HIPSYCL_LLVM_INSTALL_PREFIX=${INSTALL_PATH}
export HIPSYCL_WITH_ROCM=OFF
export CC=${GCCCORE_ROOT}/bin/gcc
export CXX=${GCCCORE_ROOT}/bin/g++
export HIPSYCL_BASE_CC=gcc
export HIPSYCL_BASE_CXX=g++
export hipSYCL_DIR=${INSTALL_PATH}/sycl2020/lib/cmake/hipSYCL
export HIPSYCL_LLVM_BUILD_DIR=$PWD/llvm
export HIPSYCL_BUILD_DIR=$PWD/sycl2020/hipSYCL
export LD_LIBRARY_PATH=$HIPSYCL_LLVM_INSTALL_PREFIX/llvm/lib:$LD_LIBRARY_PATH

sh ${ALIEN_ROOT}/tools/sycl/install-llvm.sh

sh ${ALIEN_ROOT}/tools/syclinstall-hipsycl.sh