mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-04 05:31:24 +00:00
* New branch for codegen changes * Fix verify function for int4 * pk_int4 codegen * Update to review comments * Remove codegen directory and rename filenames * Remove extra files; clean up CMake file * New branch for codegen changes * Fix verify function for int4 * pk_int4 codegen * Update to review comments * Remove codegen directory and rename filenames * Remove extra files; clean up CMake file * code changes for single instance * config file rename, added few more combinations in json file * Fix cmake file * Addressing review comments * Reverting files changed by merge to develop --------- Co-authored-by: ThomasNing <thomas.ning@amd.com>
45 lines
1.6 KiB
CMake
45 lines
1.6 KiB
CMake
|
|
|
|
# generate a list of kernels, but not actually emit files at config stage
|
|
execute_process(
|
|
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/gemm_instance_builder.py
|
|
--working_path ${CMAKE_CURRENT_BINARY_DIR}
|
|
--json ${CMAKE_CURRENT_LIST_DIR}/configs/instance_combination.json
|
|
--list_blobs
|
|
RESULT_VARIABLE ret
|
|
)
|
|
|
|
if(ret AND NOT ret EQUAL 0)
|
|
message( FATAL_ERROR "Fail to generate kernels via Python. ${ret}")
|
|
endif()
|
|
|
|
file(STRINGS ${CMAKE_CURRENT_BINARY_DIR}/gemm_instance_blobs.txt GEMM_CODEGEN_BLOBS)
|
|
|
|
add_custom_command(
|
|
OUTPUT ${GEMM_CODEGEN_BLOBS}
|
|
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/gemm_instance_builder.py
|
|
--working_path ${CMAKE_CURRENT_BINARY_DIR}
|
|
--json ${CMAKE_CURRENT_LIST_DIR}/configs/instance_combination.json
|
|
--gen_blobs
|
|
DEPENDS ${GEMM_CODEGEN_BLOBS}
|
|
)
|
|
|
|
set(EXECUTABLE_GEMM_INSTANCE "tile_engine_gemm")
|
|
message("adding example ${EXECUTABLE_GEMM_INSTANCE}")
|
|
|
|
# use build as include directory
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
add_executable(${EXECUTABLE_GEMM_INSTANCE} EXCLUDE_FROM_ALL gemm_host_api.cpp)
|
|
target_include_directories(${EXECUTABLE_GEMM_INSTANCE} PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
|
target_sources(${EXECUTABLE_GEMM_INSTANCE} PRIVATE ${GEMM_CODEGEN_BLOBS})
|
|
|
|
set(EXECUTABLE_GEMM_INSTANCE_COMPILE_OPTIONS)
|
|
|
|
list(APPEND EXECUTABLE_GEMM_INSTANCE_COMPILE_OPTIONS
|
|
-Wno-undefined-func-template
|
|
-Wno-float-equal
|
|
--offload-compress)
|
|
|
|
target_compile_options(${EXECUTABLE_GEMM_INSTANCE} PRIVATE ${EXECUTABLE_GEMM_INSTANCE_COMPILE_OPTIONS})
|
|
|
|
set_property(GLOBAL PROPERTY RULE_MESSAGES OFF) |