Skip to content

Commit

Permalink
Gitlab CI: enable the SYCL FPGA emulation backend
Browse files Browse the repository at this point in the history
  • Loading branch information
fwyzard committed Jan 31, 2025
1 parent eca2cd5 commit f333899
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 8 deletions.
14 changes: 7 additions & 7 deletions cmake/alpakaCommon.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -726,14 +726,14 @@ if(alpaka_ACC_SYCL_ENABLE)

if(alpaka_SYCL_ONEAPI_FPGA_MODE STREQUAL "emulation")
target_compile_definitions(alpaka INTERFACE "ALPAKA_FPGA_EMULATION")
alpaka_set_compiler_options(DEVICE target alpaka "-Xsemulator")
target_link_options(alpaka INTERFACE "-Xsemulator")
alpaka_set_compiler_options(DEVICE target alpaka "-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_FPGA_TARGET}" "-emulator")
target_link_options(alpaka INTERFACE "-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_FPGA_TARGET}" "-emulator")
elseif(alpaka_SYCL_ONEAPI_FPGA_MODE STREQUAL "simulation")
alpaka_set_compiler_options(DEVICE target alpaka "-Xssimulation")
target_link_options(alpaka INTERFACE "-Xssimulation")
alpaka_set_compiler_options(DEVICE target alpaka "-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_FPGA_TARGET}" "-simulation")
target_link_options(alpaka INTERFACE "-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_FPGA_TARGET}" "-simulation")
elseif(alpaka_SYCL_ONEAPI_FPGA_MODE STREQUAL "hardware")
alpaka_set_compiler_options(DEVICE target alpaka "-Xshardware")
target_link_options(alpaka INTERFACE "-Xshardware")
alpaka_set_compiler_options(DEVICE target alpaka "-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_FPGA_TARGET}" "-hardware")
target_link_options(alpaka INTERFACE "-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_FPGA_TARGET}" "-hardware")
endif()

if(NOT alpaka_SYCL_ONEAPI_FPGA_MODE STREQUAL "emulation")
Expand All @@ -742,7 +742,7 @@ if(alpaka_ACC_SYCL_ENABLE)

set(alpaka_SYCL_ONEAPI_FPGA_BSP "intel_a10gx_pac" CACHE STRING "Path to or name of the Intel FPGA board support package")
set_property(CACHE alpaka_SYCL_ONEAPI_FPGA_BSP PROPERTY STRINGS "intel_a10gx_pac;intel_s10sx_pac")
target_link_options(alpaka INTERFACE "-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_FPGA_TARGET} \"-board=${alpaka_SYCL_ONEAPI_FPGA_BSP}:${alpaka_SYCL_ONEAPI_FPGA_BOARD}\"")
target_link_options(alpaka INTERFACE "-Xsycl-target-backend=${alpaka_SYCL_ONEAPI_FPGA_TARGET}" "-board=${alpaka_SYCL_ONEAPI_FPGA_BSP}:${alpaka_SYCL_ONEAPI_FPGA_BOARD}")
endif()
endif()

Expand Down
3 changes: 3 additions & 0 deletions script/before_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ if [ "${alpaka_ACC_SYCL_ENABLE}" == "OFF" ]; then
echo_yellow "<DEFAULT: SYCL environment variables for disabled backend>"
export alpaka_SYCL_ONEAPI_CPU=${alpaka_SYCL_ONEAPI_CPU:=""}
export alpaka_SYCL_ONEAPI_CPU_ISA=${alpaka_SYCL_ONEAPI_CPU_ISA:=""}
export alpaka_SYCL_ONEAPI_FPGA=${alpaka_SYCL_ONEAPI_FPGA:=""}
export alpaka_SYCL_ONEAPI_FPGA_MODE=${alpaka_SYCL_ONEAPI_FPGA_MODE:=""}
export alpaka_SYCL_ONEAPI_FPGA_BOARD=${alpaka_SYCL_ONEAPI_FPGA_BOARD:=""}
fi

#-------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion script/install_oneapi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ else
components=(
intel-oneapi-common-vars # Contains /opt/intel/oneapi/setvars.sh - has no version number
intel-oneapi-compiler-dpcpp-cpp-"${ALPAKA_CI_ONEAPI_VERSION}" # Contains icpx compiler and SYCL runtime
intel-oneapi-runtime-opencl # Required to run SYCL tests on the CPU - has no version number
intel-oneapi-compiler-fpga-"${ALPAKA_CI_ONEAPI_VERSION}" # Containes the FPGA support package
)
travis_retry sudo apt-get install -y "${components[@]}"

Expand Down
2 changes: 2 additions & 0 deletions script/job_generator/generate_job_yaml.py
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,8 @@ def job_variables(job: Dict[str, Tuple[str, str]]) -> Dict[str, str]:
variables["ALPAKA_CI_ONEAPI_VERSION"] = job[DEVICE_COMPILER][VERSION]
variables["alpaka_SYCL_ONEAPI_CPU"] = "ON"
variables["alpaka_SYCL_ONEAPI_CPU_ISA"] = "avx2"
variables["alpaka_SYCL_ONEAPI_FPGA"] = "ON"
variables["alpaka_SYCL_ONEAPI_FPGA_MODE"] = "emulation"

return variables

Expand Down
1 change: 1 addition & 0 deletions script/run_generate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ cd build/
$(env2cmake alpaka_CUDA_SHOW_REGISTER) $(env2cmake alpaka_CUDA_KEEP_FILES) $(env2cmake alpaka_CUDA_EXPT_EXTENDED_LAMBDA) \
$(env2cmake alpaka_ACC_GPU_HIP_ENABLE) $(env2cmake alpaka_ACC_GPU_HIP_ONLY_MODE) $(env2cmake CMAKE_HIP_ARCHITECTURES) $(env2cmake CMAKE_HIP_COMPILER) "$(env2cmake CMAKE_HIP_FLAGS)" \
$(env2cmake alpaka_ACC_SYCL_ENABLE) $(env2cmake alpaka_SYCL_ONEAPI_CPU) $(env2cmake alpaka_SYCL_ONEAPI_CPU_ISA) \
$(env2cmake alpaka_SYCL_ONEAPI_FPGA) $(env2cmake alpaka_SYCL_ONEAPI_FPGA_MODE) $(env2cmake alpaka_SYCL_ONEAPI_FPGA_BOARD) "$(env2cmake alpaka_SYCL_ONEAPI_FPGA_BSP)" \
$(env2cmake alpaka_DEBUG) $(env2cmake alpaka_CI) $(env2cmake alpaka_CHECK_HEADERS) $(env2cmake alpaka_CXX_STANDARD) $(env2cmake alpaka_USE_MDSPAN) $(env2cmake CMAKE_INSTALL_PREFIX) \
..

Expand Down

0 comments on commit f333899

Please sign in to comment.