Summary: The AMDGPU backend can handle wavefront sizes of 32 and 64, with the native hardware preferring one or the other. The user can override the hardware with `-mwavefrontsize64` or `-mwavefrontsize32` which previously wasn't handled. We need to know the wavefront size to know how much memory to allocate and how to index the RPC buffer. There isn't a good way to do this with ROCm so we just use the LLVM support for offloading to check this from the image.
17 lines
262 B
CMake
17 lines
262 B
CMake
set(LLVM_LINK_COMPONENTS
|
|
BinaryFormat
|
|
Object
|
|
Option
|
|
Support
|
|
FrontendOffloading
|
|
)
|
|
|
|
add_llvm_executable(amdhsa-loader amdhsa-loader.cpp)
|
|
|
|
target_link_libraries(amdhsa-loader
|
|
PRIVATE
|
|
hsa-runtime64::hsa-runtime64
|
|
gpu_loader
|
|
llvmlibc_rpc_server
|
|
)
|