CMakeLists.txt 2.92 KB
Newer Older
1
include_directories(BEFORE
Adam Osewski's avatar
Adam Osewski committed
2
    ${PROJECT_SOURCE_DIR}/
Chao Liu's avatar
Chao Liu committed
3
4
5
6
7
8
9
10
11
12
13
    ${PROJECT_SOURCE_DIR}/include/ck
    ${PROJECT_SOURCE_DIR}/include/ck/utility
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_description
    ${PROJECT_SOURCE_DIR}/include/ck/tensor
    ${PROJECT_SOURCE_DIR}/include/ck/problem_transform
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/device
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/grid
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/block
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/warp
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/thread
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/element
14
15
16
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/cpu/device
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/cpu/grid
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/cpu/block
17
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/cpu/thread
18
    ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/cpu/element
Chao Liu's avatar
Chao Liu committed
19
20
21
22
23
    ${PROJECT_SOURCE_DIR}/library/include/ck/library/host_tensor
    ${PROJECT_SOURCE_DIR}/library/include/ck/library/tensor_operation_instance
    ${PROJECT_SOURCE_DIR}/library/include/ck/library/tensor_operation_instance/gpu/reduce
    ${PROJECT_SOURCE_DIR}/library/include/ck/library/reference_tensor_operation/cpu
    ${PROJECT_SOURCE_DIR}/library/include/ck/library/reference_tensor_operation/gpu
24
    ${PROJECT_SOURCE_DIR}/library/include/ck/library/utility
25
    ${PROJECT_SOURCE_DIR}/test/include
Chao Liu's avatar
Chao Liu committed
26
    ${PROJECT_SOURCE_DIR}/profiler/include
Chao Liu's avatar
Chao Liu committed
27
    ${PROJECT_SOURCE_DIR}/external/include/half
28
29
)

JD's avatar
JD committed
30
31
include(googletest)

32
33
add_custom_target(tests)

34

Chao Liu's avatar
Chao Liu committed
35
36
function(add_test_executable TEST_NAME)
    message("adding test ${TEST_NAME}")
37
38
39
40
    add_executable(${TEST_NAME} ${ARGN})
    add_test(NAME ${TEST_NAME} COMMAND $<TARGET_FILE:${TEST_NAME}> )
    add_dependencies(tests ${TEST_NAME})
    add_dependencies(check ${TEST_NAME})
Chao Liu's avatar
Chao Liu committed
41
endfunction(add_test_executable TEST_NAME)
42

43
44
45
46
47
48
49
50
include(GoogleTest)

function(add_gtest_executable TEST_NAME)
    message("adding gtest ${TEST_NAME}")
    add_executable(${TEST_NAME} ${ARGN})
    add_dependencies(tests ${TEST_NAME})
    add_dependencies(check ${TEST_NAME})
    # suppress gtest warnings
Adam Osewski's avatar
Adam Osewski committed
51
    target_compile_options(${TEST_NAME} PRIVATE -Wno-global-constructors -Wno-undef)
52
53
54
55
    target_link_libraries(${TEST_NAME} PRIVATE gtest_main)
    gtest_discover_tests(${TEST_NAME})
endfunction(add_gtest_executable TEST_NAME)

56

Chao Liu's avatar
Chao Liu committed
57
58
59
60
61
62
add_subdirectory(magic_number_division)
add_subdirectory(space_filling_curve)
add_subdirectory(conv_util)
add_subdirectory(reference_conv_fwd)
add_subdirectory(gemm)
add_subdirectory(gemm_split_k)
Chao Liu's avatar
Chao Liu committed
63
64
add_subdirectory(gemm_reduce)
add_subdirectory(batched_gemm)
65
add_subdirectory(batched_gemm_reduce)
Chao Liu's avatar
Chao Liu committed
66
add_subdirectory(grouped_gemm)
Chao Liu's avatar
Chao Liu committed
67
add_subdirectory(convnd_fwd)
68
add_subdirectory(reduce)
69
add_subdirectory(conv2d_bwd_weight)
JD's avatar
JD committed
70
add_subdirectory(convnd_bwd_data)
71
add_subdirectory(cpu_ukernel)
72
# DONOT add client_app, that is tested via CI independently