How to install SYCL¶
Installing OneAPI 2024.0 with CUDA Support¶
Installing hipSYCL v0.9.4 with CUDA or ROCM Support¶
Alien’s build system is based on CMake.
Getting the sources¶
git clone --recurse-submodules -b stable https://github.com/illuhad/hipSYCL
Example of configuration hipSYCL with GCC 10.2 and CUDA 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
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' \
Example of configuration hipSYCL with Clang and ROCM 5.5.1¶
export ROCM_ROOT=/opt/rocm-5.5.1
export LLVM_DIR=/opt/rocm-5.5.1/llvm/lib/cmake/llvm
export CC=$ROCM_ROOT/llvm/bin/clang
export CXX=$ROCM_ROOT/llvm/bin/clang++
export BOOST_ROOT=/opt/software/gaia/prod/1.1.1/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_placeholder__/__spack_path_plac/boost-1.81.0-rocmcc-5.3.0-cky6
export CC=clang
export CXX=clang++
export ROOT_DIR=/lus/work/CT2A/cad14948/SHARED
export PREFIX_PATH="$ROCM_ROOT;$ROCM_ROOT/hip"
export HIP_ARCHITECTURES=gfx90a # AMD Instinct MI300 = gfx940 architecture
cd buildAdaptiveCPP23
cmake -DCMAKE_C_COMPILER=$CC \
-DCMAKE_CXX_COMPILER=$CXX \
-DLLVM_DIR=$ROCM_ROOT/llvm/lib/cmake/llvm \
-DCLANG_EXECUTABLE_PATH=$ROCM_ROOT/llvm/bin/clang++ \
-DCLANG_INCLUDE_PATH=$ROCM_ROOT/llvm/include \
-DROCM_PATH=${ROCM_ROOT} \
-DWITH_CPU_BACKEND=ON \
-DWITH_ROCM_BACKEND=ON \
-WITH_OPENCL_BACKEND=OFF \
-DWITH_LEVEL_ZERO_BACKEND=OFF \
-WITH_SSCP_COMPILER=OFF \
-DCMAKE_INSTALL_PREFIX=/lus/work/CT2A/cad14948/SHARED/local/adaptivecpp/v23.10.0 \
-DWITH_ACCELERATED_CPU=OFF \
-DBOOST_ROOT=$BOOST_ROOT \
/lus/work/CT2A/cad14948/SHARED/AdaptiveCpp-v23.10.0
make install
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