mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-04-20 14:59:17 +00:00
Build codegen as standalone (#1556)
* Build codegen as standalone * Add exception for device tests * Use local filesystem header * add a codegen test CI stage and daily build --------- Co-authored-by: illsilin <Illia.Silin@amd.com> Co-authored-by: Illia Silin <98187287+illsilin@users.noreply.github.com>
This commit is contained in:
@@ -1,23 +1,25 @@
|
||||
list(APPEND CMAKE_PREFIX_PATH /opt/rocm)
|
||||
add_subdirectory(rtc)
|
||||
file(GLOB TEST_SRCS CONFIGURE_DEPENDS *.cpp)
|
||||
# do not build the tests when we build the library for various targets
|
||||
if(NOT GPU_ARCHS)
|
||||
foreach(TEST_SRC ${TEST_SRCS})
|
||||
set_source_files_properties(${TEST_SRC} PROPERTIES LANGUAGE HIP)
|
||||
get_filename_component(BASE_NAME ${TEST_SRC} NAME_WE)
|
||||
add_executable(codegen_test_${BASE_NAME} ${TEST_SRC})
|
||||
if(CK_USE_ALTERNATIVE_PYTHON)
|
||||
target_link_options(codegen_test_${BASE_NAME} PRIVATE -lstdc++fs)
|
||||
endif()
|
||||
add_dependencies(codegen codegen_test_${BASE_NAME})
|
||||
add_dependencies(tests codegen_test_${BASE_NAME})
|
||||
add_dependencies(check codegen_test_${BASE_NAME})
|
||||
add_test(NAME codegen_test_${BASE_NAME} COMMAND codegen_test_${BASE_NAME})
|
||||
message("adding test codegen_test_${BASE_NAME}")
|
||||
target_link_libraries(codegen_test_${BASE_NAME} ck_rtc ck_host)
|
||||
target_include_directories(codegen_test_${BASE_NAME} PUBLIC ${CK_ROOT}/codegen/test/include)
|
||||
|
||||
# TODO: These tests need to be refactored to remove dependency on main ck
|
||||
# headers and device compilation.
|
||||
set(TESTS_REQUIRE_DEVICE_COMPILE
|
||||
grouped_conv_fwd_multiple_d_v1
|
||||
grouped_conv_fwd_multiple_d_v2
|
||||
grouped_conv_fwd_multiple_d_v3
|
||||
grouped_conv_fwd_multiple_d_v4
|
||||
)
|
||||
find_package(hip)
|
||||
|
||||
foreach(TEST_SRC ${TEST_SRCS})
|
||||
get_filename_component(BASE_NAME ${TEST_SRC} NAME_WE)
|
||||
rocm_add_test_executable(codegen_test_${BASE_NAME} ${TEST_SRC})
|
||||
target_link_libraries(codegen_test_${BASE_NAME} ck_rtc ck_host)
|
||||
target_include_directories(codegen_test_${BASE_NAME} PUBLIC include)
|
||||
if(BASE_NAME IN_LIST TESTS_REQUIRE_DEVICE_COMPILE)
|
||||
target_link_libraries(codegen_test_${BASE_NAME} hip::device)
|
||||
target_include_directories(codegen_test_${BASE_NAME} PUBLIC ${CK_ROOT}/include)
|
||||
target_include_directories(codegen_test_${BASE_NAME} PUBLIC ${CK_ROOT}/library/include)
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
Reference in New Issue
Block a user