brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · b35a702 Raw
47 lines · plain
1set(LLVM_LINK_COMPONENTS2  BinaryFormat3  Object4  Option5  Support6  FrontendOffloading7  TargetParser8)9 10add_llvm_tool(llvm-gpu-loader11  llvm-gpu-loader.cpp12 13  # TODO: We intentionally split this currently due to statically linking the14  #       GPU runtimes. Dynamically load the dependencies, possibly using the15  #       LLVM offloading API when it is complete.16  PARTIAL_SOURCES_INTENDED17 18  DEPENDS19  intrinsics_gen20)21 22# Locate the RPC server handling interface.23include(FindLibcCommonUtils)24target_link_libraries(llvm-gpu-loader PUBLIC llvm-libc-common-utilities)25 26# Check for HSA support for targeting AMD GPUs.27find_package(hsa-runtime64 QUIET 1.2.0 HINTS ${CMAKE_INSTALL_PREFIX} PATHS /opt/rocm)28if(hsa-runtime64_FOUND)29  target_sources(llvm-gpu-loader PRIVATE amdhsa.cpp)30  target_compile_definitions(llvm-gpu-loader PRIVATE AMDHSA_SUPPORT)31  target_link_libraries(llvm-gpu-loader PRIVATE hsa-runtime64::hsa-runtime64)32 33  # Compatibility with the old amdhsa-loader name.34  add_llvm_tool_symlink(amdhsa-loader llvm-gpu-loader)35endif()36 37# Check for CUDA support for targeting NVIDIA GPUs.38find_package(CUDAToolkit 11.2 QUIET)39if(CUDAToolkit_FOUND)40  target_sources(llvm-gpu-loader PRIVATE nvptx.cpp)41  target_compile_definitions(llvm-gpu-loader PRIVATE NVPTX_SUPPORT)42  target_link_libraries(llvm-gpu-loader PRIVATE CUDA::cuda_driver)43 44  # Compatibility with the old nvptx-loader name.45  add_llvm_tool_symlink(nvptx-loader llvm-gpu-loader)46endif()47