From 5e2632e486f599510f004e18ab92cde91572d2ba Mon Sep 17 00:00:00 2001 From: arai713 <67439843+arai713@users.noreply.github.com> Date: Thu, 22 Aug 2024 07:24:55 -0700 Subject: [PATCH] Codegen INSTANCES_ONLY build (#1468) * initial push - altering codegen build * fix the codegen cmake * enable codegen build for gfx908 and gfx90a * enable building codegen with INSTANCES_ONLY=ON * updating ck_rtc * remove gpu targets for codegen and rename tests * make codegen tests dependencies of tests and check targets --------- Co-authored-by: illsilin Co-authored-by: Illia Silin <98187287+illsilin@users.noreply.github.com> [ROCm/composable_kernel commit: 967b1f0fda8bbbae5f1a9de71d3100380d04a068] --- CMakeLists.txt | 7 ++++--- codegen/CMakeLists.txt | 2 ++ codegen/test/CMakeLists.txt | 18 ++++++++++-------- codegen/test/rtc/CMakeLists.txt | 2 -- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a08ddd19c..5012635d3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -553,9 +553,6 @@ if(NOT DEFINED INSTANCES_ONLY) PACKAGE_NAME examples ) add_subdirectory(example) - if(GPU_TARGETS MATCHES "gfx9" AND NOT INSTANCES_ONLY) - add_subdirectory(codegen) - endif() if(BUILD_TESTING) add_subdirectory(test) endif() @@ -575,6 +572,10 @@ if(NOT DEFINED INSTANCES_ONLY) endif() endif() +if(NOT DEFINED PROFILER_ONLY AND (GPU_TARGETS MATCHES "gfx9" OR DEFINED INSTANCES_ONLY)) + add_subdirectory(codegen) +endif() + #Create an interface target for the include only files and call it "composablekernels" include(CMakePackageConfigHelpers) diff --git a/codegen/CMakeLists.txt b/codegen/CMakeLists.txt index d08fe2380b..1d8167b4be 100644 --- a/codegen/CMakeLists.txt +++ b/codegen/CMakeLists.txt @@ -27,6 +27,8 @@ file(GLOB_RECURSE KERNEL_FILES CONFIGURE_DEPENDS add_embed_library(ck_headers ${KERNEL_FILES} RELATIVE ${CK_ROOT}/include) file(GLOB SOURCES CONFIGURE_DEPENDS src/*.cpp) + +##message(STATUS "SOURCE_FILES: ${SOURCES}") # TODO: Use object library add_library(ck_host STATIC ${SOURCES}) target_link_libraries(ck_host PRIVATE ck_headers) diff --git a/codegen/test/CMakeLists.txt b/codegen/test/CMakeLists.txt index 9716b7c681..4841ca7e15 100644 --- a/codegen/test/CMakeLists.txt +++ b/codegen/test/CMakeLists.txt @@ -4,12 +4,14 @@ file(GLOB TEST_SRCS CONFIGURE_DEPENDS *.cpp) 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(test_host_${BASE_NAME} ${TEST_SRC}) - add_dependencies(codegen test_host_${BASE_NAME}) - add_test(NAME codegen_test_${BASE_NAME} COMMAND test_host_${BASE_NAME}) - target_link_libraries(test_host_${BASE_NAME} ck_rtc ck_host) - # target_link_libraries(test_host_${BASE_NAME} ${CK_ROOT}/build/lib/libutility.a) - target_include_directories(test_host_${BASE_NAME} PUBLIC ${CK_ROOT}/codegen/test/include) - target_include_directories(test_host_${BASE_NAME} PUBLIC ${CK_ROOT}/include) - target_include_directories(test_host_${BASE_NAME} PUBLIC ${CK_ROOT}/library/include) + add_executable(codegen_test_${BASE_NAME} ${TEST_SRC}) + 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 include()) + target_include_directories(codegen_test_${BASE_NAME} PUBLIC ${CK_ROOT}/include) + target_include_directories(codegen_test_${BASE_NAME} PUBLIC ${CK_ROOT}/library/include) endforeach() diff --git a/codegen/test/rtc/CMakeLists.txt b/codegen/test/rtc/CMakeLists.txt index 441e60ca88..39497f1a21 100644 --- a/codegen/test/rtc/CMakeLists.txt +++ b/codegen/test/rtc/CMakeLists.txt @@ -1,5 +1,3 @@ - -find_package(hip) file(GLOB RTC_SOURCES CONFIGURE_DEPENDS src/*.cpp) add_library(ck_rtc ${RTC_SOURCES}) target_include_directories(ck_rtc PUBLIC include)