Commit 07d327a2 authored by Chao Liu's avatar Chao Liu
Browse files

update cmake

parent 5ab94474
include_directories(BEFORE include_directories(BEFORE
include ${PROJECT_SOURCE_DIR}/include/ck
${PROJECT_SOURCE_DIR}/host/host_tensor/include ${PROJECT_SOURCE_DIR}/include/ck/utility
${PROJECT_SOURCE_DIR}/host/device/include ${PROJECT_SOURCE_DIR}/include/ck/tensor_description
${PROJECT_SOURCE_DIR}/device_operation/include ${PROJECT_SOURCE_DIR}/include/ck/tensor
${PROJECT_SOURCE_DIR}/composable_kernel/include ${PROJECT_SOURCE_DIR}/include/ck/problem_transform
${PROJECT_SOURCE_DIR}/composable_kernel/include/utility ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/device
${PROJECT_SOURCE_DIR}/composable_kernel/include/tensor_description ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/grid
${PROJECT_SOURCE_DIR}/composable_kernel/include/tensor_operation ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/block
${PROJECT_SOURCE_DIR}/composable_kernel/include/problem_transform ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/warp
${PROJECT_SOURCE_DIR}/external/rocm/include ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/thread
${PROJECT_SOURCE_DIR}/reference_operation/include ${PROJECT_SOURCE_DIR}/include/ck/tensor_operation/gpu/element
${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
${PROJECT_SOURCE_DIR}/test/include ${PROJECT_SOURCE_DIR}/test/include
${PROJECT_SOURCE_DIR}/external/include/half
) )
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C ${CMAKE_CFG_INTDIR}) add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C ${CMAKE_CFG_INTDIR})
add_custom_target(tests) add_custom_target(tests)
function(add_test_executeable TEST_NAME) function(add_test_executable TEST_NAME)
message("adding test ${TEST_NAME}")
add_executable(${TEST_NAME} ${ARGN}) add_executable(${TEST_NAME} ${ARGN})
target_link_libraries(${TEST_NAME} PRIVATE host_tensor)
target_link_libraries(${TEST_NAME} PRIVATE device_gemm_instance)
target_link_libraries(${TEST_NAME} PRIVATE device_conv2d_fwd_instance)
target_link_libraries(${TEST_NAME} PRIVATE device_conv2d_bwd_data_instance)
add_test(NAME ${TEST_NAME} COMMAND $<TARGET_FILE:${TEST_NAME}> ) add_test(NAME ${TEST_NAME} COMMAND $<TARGET_FILE:${TEST_NAME}> )
add_dependencies(tests ${TEST_NAME}) add_dependencies(tests ${TEST_NAME})
add_dependencies(check ${TEST_NAME}) add_dependencies(check ${TEST_NAME})
endfunction(add_test_executeable TEST_NAME) endfunction(add_test_executable TEST_NAME)
file(GLOB TESTS */*.cpp) add_subdirectory(magic_number_division)
add_subdirectory(space_filling_curve)
foreach(TEST ${TESTS}) add_subdirectory(conv_util)
get_filename_component(BASE_NAME ${TEST} NAME_WE) add_subdirectory(reference_conv_fwd)
message("adding test ${BASE_NAME}") add_subdirectory(gemm)
add_test_executeable(test_${BASE_NAME} ${TEST}) add_subdirectory(gemm_split_k)
endforeach(TEST ${TESTS}) add_subdirectory(conv2d_fwd)
add_subdirectory(convnd_fwd)
add_subdirectory(conv2d_bwd_data)
set(CONV2D_BWD_DATA_SOURCE
conv2d_bwd_data.cpp
)
get_filename_component(CONV2D_BWD_DATA ${CONV2D_BWD_DATA_SOURCE} NAME_WE)
add_test_executable(test_${CONV2D_BWD_DATA} ${CONV2D_BWD_DATA_SOURCE})
target_link_libraries(test_${CONV2D_BWD_DATA} PRIVATE host_tensor)
target_link_libraries(test_${CONV2D_BWD_DATA} PRIVATE device_conv2d_bwd_data_instance)
set(CONV2D_FWD_SOURCE
conv2d_fwd.cpp
)
get_filename_component(CONV2D_FWD ${CONV2D_FWD_SOURCE} NAME_WE)
add_test_executable(test_${CONV2D_FWD} ${CONV2D_FWD_SOURCE})
target_link_libraries(test_${CONV2D_FWD} PRIVATE host_tensor)
target_link_libraries(test_${CONV2D_FWD} PRIVATE device_conv2d_fwd_instance)
set(CONV_UTIL_SOURCE
conv_util.cpp
)
get_filename_component(CONV_UTIL ${CONV_UTIL_SOURCE} NAME_WE)
add_test_executable(test_${CONV_UTIL} ${CONV_UTIL_SOURCE})
target_link_libraries(test_${CONV_UTIL} PRIVATE host_tensor)
set(CONVND_FWD_SOURCE
convnd_fwd.cpp
)
get_filename_component(CONVND_FWD ${CONVND_FWD_SOURCE} NAME_WE)
add_test_executable(test_${CONVND_FWD} ${CONVND_FWD_SOURCE})
target_link_libraries(test_${CONVND_FWD} PRIVATE host_tensor)
set(GEMM_SOURCE
gemm_fp32.cpp
gemm_bf16.cpp
gemm_int8.cpp
)
foreach(TEST ${GEMM_SOURCE})
get_filename_component(BASE_NAME ${TEST} NAME_WE)
message("adding test ${BASE_NAME}")
add_test_executable(test_${BASE_NAME} ${TEST})
target_link_libraries(test_${BASE_NAME} PRIVATE host_tensor)
target_link_libraries(test_${BASE_NAME} PRIVATE device_gemm_instance)
endforeach(TEST ${GEMM_SOURCE})
set(GEMM_SPLIT_K_SOURCE
gemm_split_k.cpp
)
get_filename_component(GEMM_SPLIT_K ${GEMM_SPLIT_K_SOURCE} NAME_WE)
add_test_executable(test_${GEMM_SPLIT_K} ${GEMM_SPLIT_K_SOURCE})
target_link_libraries(test_${GEMM_SPLIT_K} PRIVATE host_tensor)
target_link_libraries(test_${GEMM_SPLIT_K} PRIVATE device_gemm_instance)
set(MAGIC_NUMBER_DIVISION_SOURCE
magic_number_division.cpp
)
get_filename_component(MAGIC_NUMBER_DIVISION ${MAGIC_NUMBER_DIVISION_SOURCE} NAME_WE)
add_test_executable(test_${MAGIC_NUMBER_DIVISION} ${MAGIC_NUMBER_DIVISION_SOURCE})
target_link_libraries(test_${MAGIC_NUMBER_DIVISION} PRIVATE host_tensor)
set(REFERENCE_CONV_FWD_SOURCE
reference_conv_fwd.cpp
)
get_filename_component(REFERENCE_CONV_FWD ${REFERENCE_CONV_FWD_SOURCE} NAME_WE)
add_test_executable(test_${REFERENCE_CONV_FWD} ${REFERENCE_CONV_FWD_SOURCE})
target_link_libraries(test_${REFERENCE_CONV_FWD} PRIVATE host_tensor)
set(SPACE_FILLING_CURVE_SOURCE
space_filling_curve.cpp
)
get_filename_component(SPACE_FILLING_CURVE ${SPACE_FILLING_CURVE_SOURCE} NAME_WE)
add_test_executable(test_${SPACE_FILLING_CURVE} ${SPACE_FILLING_CURVE_SOURCE})
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment