CMakeLists.txt 1.69 KB
Newer Older
Alan Turner's avatar
Alan Turner committed
1
include(Embed)
Paul's avatar
Paul committed
2
file(GLOB_RECURSE KERNEL_FILES CONFIGURE_DEPENDS
Alan Turner's avatar
Alan Turner committed
3
4
    ${PROJECT_SOURCE_DIR}/include/ck/*.hpp)
message(STATUS "KERNEL_FILES: ${KERNEL_FILES}")
Paul's avatar
Paul committed
5
message(STATUS "RELATIVE: ${PROJECT_SOURCE_DIR}/include")
Paul's avatar
Paul committed
6
add_embed_library(ck_headers ${KERNEL_FILES} RELATIVE ${PROJECT_SOURCE_DIR}/include)
Alan Turner's avatar
Alan Turner committed
7
8

execute_process(
Paul's avatar
Paul committed
9
10
11
    COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/util/make_instance_strings.py
        ${PROJECT_SOURCE_DIR}/library/src/tensor_operation_instance/gpu
        ${CMAKE_CURRENT_BINARY_DIR}/solution_instances
Alan Turner's avatar
Alan Turner committed
12
13
14
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../tensor_operation_instance/gpu/
)

Paul's avatar
Paul committed
15
add_library(jit_library STATIC 
16
    src/device_batched_gemm_softmax_gemm.cpp
Paul's avatar
Paul committed
17
18
    src/device_gemm_multiple_d.cpp
    src/common.cpp
Alan Turner's avatar
Alan Turner committed
19
20
21
22
23
)
add_library(composable_kernel::jit_library ALIAS jit_library)

set_target_properties(jit_library PROPERTIES LINKER_LANGUAGE CXX)

24
target_include_directories(jit_library SYSTEM PRIVATE
Alan Turner's avatar
Alan Turner committed
25
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
Paul's avatar
Paul committed
26
    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/library/src/jit_library/solution_instances>
Paul's avatar
Paul committed
27
    $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/solution_instances>
Paul's avatar
Paul committed
28
    $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/embed/ck_headers/include>
Alan Turner's avatar
Alan Turner committed
29
30
31
32
33
34
35
36
37
)

target_link_libraries(jit_library PRIVATE ck_headers)

rocm_install(
    TARGETS jit_library ck_headers
    EXPORT jit_libraryTargets
)

Paul's avatar
Paul committed
38
rocm_install(DIRECTORY include/ck DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
Paul's avatar
Paul committed
39
rocm_install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ck DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
Alan Turner's avatar
Alan Turner committed
40
41
42
43
44
45
46
47
48

rocm_install(
    EXPORT jit_libraryTargets
    FILE composable_kerneljit_libraryTargets.cmake
    NAMESPACE composable_kernel::
    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/composable_kernel
)