2022-08-05 00:32:20 +00:00
|
|
|
set(composable_kernel_URL https://github.com/ROCmSoftwarePlatform/composable_kernel.git)
|
[ROCm] add CK GroupNorm to GroupNormTunable (#15510)
- Add CK GroupNorm to GroupNormTunable.
- Reduce configuration of GroupNormNHWCOp because CK implementation is
better.
The performance gain on stable diffusion v1.5.
Before:
```
'height': 512
'width': 512
'steps': 50
'batch_size': 1
'batch_count': 5
'num_prompts': 1
'average_latency': 2.4782688856124877
'median_latency': 2.4783748388290405
'provider': 'ROCMExecutionProvider'
'disable_safety_checker': True
```
After:
```
'height': 512,
'width': 512,
'steps': 50,
'batch_size': 1,
'batch_count': 5,
'num_prompts': 1,
'average_latency': 2.107170510292053,
'median_latency': 2.1067750453948975,
'first_run_memory_MB': -1,
'second_run_memory_MB': -1,
'provider': 'ROCMExecutionProvider',
'disable_safety_checker': True
```
2023-04-19 05:54:59 +00:00
|
|
|
set(composable_kernel_TAG ed3a2e52265e11daa366f47b082141a652b67c58) # 2023-04-10 21:02:17 +0800
|
2022-08-05 00:32:20 +00:00
|
|
|
|
|
|
|
|
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}
|
|
|
|
|
)
|
|
|
|
|
|
2022-09-15 05:11:31 +00:00
|
|
|
FetchContent_GetProperties(composable_kernel)
|
|
|
|
|
if(NOT composable_kernel_POPULATED)
|
|
|
|
|
FetchContent_Populate(composable_kernel)
|
2022-10-05 08:15:16 +00:00
|
|
|
set(BUILD_DEV OFF CACHE BOOL "Disable -Weverything, otherwise, error: 'constexpr' specifier is incompatible with C++98 [-Werror,-Wc++98-compat]" FORCE)
|
2022-09-15 05:11:31 +00:00
|
|
|
add_subdirectory(${composable_kernel_SOURCE_DIR} ${composable_kernel_BINARY_DIR} EXCLUDE_FROM_ALL)
|
2022-08-05 00:32:20 +00:00
|
|
|
|
2022-09-15 05:11:31 +00:00
|
|
|
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()
|