mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
1. Update CK to its latest develop branch 2. `-mllvm -amdgpu-early-inline-all=true` is critical to CK's performance, ensure it is properly configured. - The flags are propagated from target `hip-lang::device`'s `INTERFACE_COMPILE_OPTIONS`, we must not manually add the flags. - Instead, we must ensure this target is properly configured by checking _CMAKE_HIP_DEVICE_RUNTIME_TARGET is set. TL,DR `hip-lang::device` sometime will be not be properly configured if our `CMAKE_PREFIX_PATH` is not configured carefully. In the CI docker, the configuration is in good state, but on dev machine it is not, which then silently result poor performance for kernels. We fixed it in this PR and add a guard to avoid unsuccessful future editing and to prevent convoluted debugging process. `_CMAKE_HIP_DEVICE_RUNTIME_TARGET ` is shared in `/opt/rocm/lib/cmake/hip-lang/hip-lang-config.cmake` and it is internal to [CMake](https://gitlab.kitware.com/cmake/cmake/-/merge_requests/6121/diffs), the variable name will not be changed in the foreseeable future.
23 lines
1.1 KiB
CMake
23 lines
1.1 KiB
CMake
set(composable_kernel_URL https://github.com/ROCmSoftwarePlatform/composable_kernel.git)
|
|
set(composable_kernel_TAG 8ee36118be9b19b15c2471bffeeeb624afb14044) # 2022-11-01 00:24:25 +0800
|
|
|
|
set(PATCH ${PROJECT_SOURCE_DIR}/patches/composable_kernel/Fix_Clang_Build.patch)
|
|
|
|
include(FetchContent)
|
|
FetchContent_Declare(composable_kernel
|
|
GIT_REPOSITORY ${composable_kernel_URL}
|
|
GIT_TAG ${composable_kernel_TAG}
|
|
PATCH_COMMAND git apply --reverse --check ${PATCH} || git apply --ignore-space-change --ignore-whitespace ${PATCH}
|
|
)
|
|
|
|
FetchContent_GetProperties(composable_kernel)
|
|
if(NOT composable_kernel_POPULATED)
|
|
FetchContent_Populate(composable_kernel)
|
|
set(BUILD_DEV OFF CACHE BOOL "Disable -Weverything, otherwise, error: 'constexpr' specifier is incompatible with C++98 [-Werror,-Wc++98-compat]" FORCE)
|
|
add_subdirectory(${composable_kernel_SOURCE_DIR} ${composable_kernel_BINARY_DIR} EXCLUDE_FROM_ALL)
|
|
|
|
add_library(onnxruntime_composable_kernel_includes INTERFACE)
|
|
target_include_directories(onnxruntime_composable_kernel_includes INTERFACE
|
|
${composable_kernel_SOURCE_DIR}/include
|
|
${composable_kernel_SOURCE_DIR}/library/include)
|
|
endif()
|