CMakeLists.txt 1.87 KB
Newer Older
Artur Wojcik's avatar
Artur Wojcik committed
1
2
3
# SPDX-License-Identifier: MIT
# Copyright (c) 2018-2022, Advanced Micro Devices, Inc. All rights reserved.

Alan Turner's avatar
Alan Turner committed
4
include(Embed)
Paul's avatar
Paul committed
5
file(GLOB_RECURSE KERNEL_FILES CONFIGURE_DEPENDS
Alan Turner's avatar
Alan Turner committed
6
7
    ${PROJECT_SOURCE_DIR}/include/ck/*.hpp)
message(STATUS "KERNEL_FILES: ${KERNEL_FILES}")
Paul's avatar
Paul committed
8
message(STATUS "RELATIVE: ${PROJECT_SOURCE_DIR}/include")
Paul's avatar
Paul committed
9
add_embed_library(ck_headers ${KERNEL_FILES} RELATIVE ${PROJECT_SOURCE_DIR}/include)
Alan Turner's avatar
Alan Turner committed
10

Artur Wojcik's avatar
Artur Wojcik committed
11
12
find_package(Python 3.8 REQUIRED COMPONENTS Interpreter)

Alan Turner's avatar
Alan Turner committed
13
execute_process(
Artur Wojcik's avatar
Artur Wojcik committed
14
    COMMAND ${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/util/make_instance_strings.py
Paul's avatar
Paul committed
15
16
        ${PROJECT_SOURCE_DIR}/library/src/tensor_operation_instance/gpu
        ${CMAKE_CURRENT_BINARY_DIR}/solution_instances
Alan Turner's avatar
Alan Turner committed
17
18
19
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../tensor_operation_instance/gpu/
)

Paul's avatar
Paul committed
20
add_library(jit_library STATIC 
21
    src/device_batched_gemm_softmax_gemm.cpp
Paul's avatar
Paul committed
22
23
    src/device_gemm_multiple_d.cpp
    src/common.cpp
Alan Turner's avatar
Alan Turner committed
24
25
26
27
28
)
add_library(composable_kernel::jit_library ALIAS jit_library)

set_target_properties(jit_library PROPERTIES LINKER_LANGUAGE CXX)

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

36
37
target_link_libraries(jit_library PRIVATE $<BUILD_INTERFACE:ck_headers>)

Alan Turner's avatar
Alan Turner committed
38
rocm_install(
Alan Turner's avatar
Alan Turner committed
39
    TARGETS jit_library 
Alan Turner's avatar
Alan Turner committed
40
41
42
    EXPORT jit_libraryTargets
)

Paul's avatar
Paul committed
43
rocm_install(DIRECTORY include/ck DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
Paul's avatar
Paul committed
44
rocm_install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ck DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
Alan Turner's avatar
Alan Turner committed
45
46
47
48
49
50
51

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