Commit cd56f648 authored by Chao Liu's avatar Chao Liu
Browse files

update cmake for example and test

parent eb6947c2
set(GEMM_XDL_FP16_SOURCE gemm_xdl_fp16.cpp) add_example_executable(example_gemm_xdl_fp16 gemm_xdl_fp16.cpp)
set(GEMM_XDL_BF16_SOURCE gemm_xdl_bf16.cpp) add_example_executable(example_gemm_xdl_bf16 gemm_xdl_bf16.cpp)
set(GEMM_XDL_INT8_SOURCE gemm_xdl_int8.cpp) add_example_executable(example_gemm_xdl_int8 gemm_xdl_int8.cpp)
add_executable(gemm_xdl_fp16 ${GEMM_XDL_FP16_SOURCE})
add_executable(gemm_xdl_bf16 ${GEMM_XDL_BF16_SOURCE})
add_executable(gemm_xdl_int8 ${GEMM_XDL_INT8_SOURCE})
target_link_libraries(gemm_xdl_fp16 PRIVATE host_tensor)
target_link_libraries(gemm_xdl_bf16 PRIVATE host_tensor)
target_link_libraries(gemm_xdl_int8 PRIVATE host_tensor)
set(GEMM_XDL_ALPHA_BETA_SOURCE gemm_xdl_alpha_beta.cpp) add_example_executable(example_gemm_xdl_alpha_beta gemm_xdl_alpha_beta.cpp)
add_executable(gemm_xdl_alpha_beta ${GEMM_XDL_ALPHA_BETA_SOURCE})
target_link_libraries(gemm_xdl_alpha_beta PRIVATE host_tensor)
set(GEMM_XDL_BIAS_RELU_SOURCE gemm_xdl_bias_relu.cpp) add_example_executable(example_gemm_xdl_bias_relu gemm_xdl_bias_relu.cpp)
add_executable(gemm_xdl_bias_relu ${GEMM_XDL_BIAS_RELU_SOURCE})
target_link_libraries(gemm_xdl_bias_relu PRIVATE host_tensor)
set(GEMM_XDL_BIAS_RELU_ADD_SOURCE gemm_xdl_bias_relu_add.cpp) add_example_executable(example_gemm_xdl_bias_relu_add gemm_xdl_bias_relu_add.cpp)
add_executable(gemm_xdl_bias_relu_add ${GEMM_XDL_BIAS_RELU_ADD_SOURCE})
target_link_libraries(gemm_xdl_bias_relu_add PRIVATE host_tensor)
set(CONV2D_FWD_XDL_FP16_SOURCE conv2d_fwd_xdl_fp16.cpp) add_example_executable(example_conv2d_fwd_xdl_fp16 conv2d_fwd_xdl_fp16.cpp)
set(CONV2D_FWD_XDL_INT8_SOURCE conv2d_fwd_xdl_int8.cpp) add_example_executable(example_conv2d_fwd_xdl_int8 conv2d_fwd_xdl_int8.cpp)
add_executable(conv2d_fwd_xdl_fp16 ${CONV2D_FWD_XDL_FP16_SOURCE})
add_executable(conv2d_fwd_xdl_int8 ${CONV2D_FWD_XDL_INT8_SOURCE})
target_link_libraries(conv2d_fwd_xdl_fp16 PRIVATE host_tensor)
target_link_libraries(conv2d_fwd_xdl_int8 PRIVATE host_tensor)
set(CONV2D_FWD_XDL_BIAS_RELU_SOURCE conv2d_fwd_xdl_bias_relu.cpp) add_example_executable(example_conv2d_fwd_xdl_bias_relu conv2d_fwd_xdl_bias_relu.cpp)
add_executable(conv2d_fwd_xdl_bias_relu ${CONV2D_FWD_XDL_BIAS_RELU_SOURCE})
target_link_libraries(conv2d_fwd_xdl_bias_relu PRIVATE host_tensor)
set(CONV2D_FWD_XDL_BIAS_RELU_ADD_SOURCE conv2d_fwd_xdl_bias_relu_add.cpp) add_example_executable(example_conv2d_fwd_xdl_bias_relu_add conv2d_fwd_xdl_bias_relu_add.cpp)
add_executable(conv2d_fwd_xdl_bias_relu_add ${CONV2D_FWD_XDL_BIAS_RELU_ADD_SOURCE})
target_link_libraries(conv2d_fwd_xdl_bias_relu_add PRIVATE host_tensor)
set(CONV3D_FWD_XDL_SOURCE conv3d_fwd_xdl.cpp) add_example_executable(example_conv3d_fwd_xdl conv3d_fwd_xdl.cpp)
add_executable(conv3d_fwd_xdl ${CONV3D_FWD_XDL_SOURCE})
target_link_libraries(conv3d_fwd_xdl PRIVATE host_tensor)
set(CONVND_FWD_XDL_SOURCE convnd_fwd_xdl.cpp) add_example_executable(example_convnd_fwd_xdl convnd_fwd_xdl.cpp)
add_executable(convnd_fwd_xdl ${CONVND_FWD_XDL_SOURCE})
target_link_libraries(convnd_fwd_xdl PRIVATE host_tensor)
set(CONV2D_BWD_DATA_XDL_SOURCE conv2d_bwd_data_xdl.cpp) add_example_executable(example_conv2d_bwd_data_xdl conv2d_bwd_data_xdl.cpp)
add_executable(conv2d_bwd_data_xdl ${CONV2D_BWD_DATA_XDL_SOURCE})
target_link_libraries(conv2d_bwd_data_xdl PRIVATE host_tensor)
set(CONV2D_BWD_WGT_XDL_SOURCE conv2d_bwd_wgt_xdl.cpp) add_example_executable(example_conv2d_bwd_wgt_xdl conv2d_bwd_wgt_xdl.cpp)
add_executable(conv2d_bwd_wgt_xdl ${CONV2D_BWD_WGT_XDL_SOURCE})
target_link_libraries(conv2d_bwd_wgt_xdl PRIVATE host_tensor)
set(REDUCE_BLOCKWISE_SOURCE reduce_blockwise.cpp) add_example_executable(example_reduce_blockwise reduce_blockwise.cpp)
add_executable(reduce_blockwise ${REDUCE_BLOCKWISE_SOURCE})
target_link_libraries(reduce_blockwise PRIVATE host_tensor)
set(POOL2D_FWD_SOURCE pool2d_fwd.cpp) add_example_executable(example_pool2d_fwd pool2d_fwd.cpp)
add_executable(pool2d_fwd ${POOL2D_FWD_SOURCE})
target_link_libraries(pool2d_fwd PRIVATE host_tensor)
...@@ -16,6 +16,15 @@ include_directories(BEFORE ...@@ -16,6 +16,15 @@ include_directories(BEFORE
${PROJECT_SOURCE_DIR}/external/include/half ${PROJECT_SOURCE_DIR}/external/include/half
) )
add_custom_target(examples)
function(add_example_executable EXAMPLE_NAME)
message("adding example ${EXAMPLE_NAME}")
add_executable(${EXAMPLE_NAME} ${ARGN})
target_link_libraries(${EXAMPLE_NAME} PRIVATE host_tensor)
add_dependencies(examples ${EXAMPLE_NAME})
endfunction(add_example_executable EXAMPLE_NAME)
add_subdirectory(01_gemm) add_subdirectory(01_gemm)
add_subdirectory(02_gemm_alpha_beta) add_subdirectory(02_gemm_alpha_beta)
add_subdirectory(03_gemm_bias_relu) add_subdirectory(03_gemm_bias_relu)
......
set(CONV2D_BWD_DATA_SOURCE add_test_executable(test_conv2d_bwd_data conv2d_bwd_data.cpp)
conv2d_bwd_data.cpp target_link_libraries(test_conv2d_bwd_data PRIVATE host_tensor)
) target_link_libraries(test_conv2d_bwd_data PRIVATE device_conv2d_bwd_data_instance)
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 add_test_executable(test_conv2d_fwd conv2d_fwd.cpp)
conv2d_fwd.cpp target_link_libraries(test_conv2d_fwd PRIVATE host_tensor)
) target_link_libraries(test_conv2d_fwd PRIVATE device_conv2d_fwd_instance)
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 add_test_executable(test_conv_util conv_util.cpp)
conv_util.cpp target_link_libraries(test_conv_util PRIVATE host_tensor)
)
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 add_test_executable(test_convnd_fwd convnd_fwd.cpp)
convnd_fwd.cpp target_link_libraries(test_convnd_fwd PRIVATE host_tensor)
)
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 add_test_executable(test_gemm_fp32 gemm_fp32.cpp)
gemm_fp32.cpp target_link_libraries(test_gemm_fp32 PRIVATE host_tensor)
gemm_bf16.cpp target_link_libraries(test_gemm_fp32 PRIVATE device_gemm_instance)
gemm_int8.cpp
)
foreach(TEST ${GEMM_SOURCE}) add_test_executable(test_gemm_bf16 gemm_bf16.cpp)
get_filename_component(BASE_NAME ${TEST} NAME_WE) target_link_libraries(test_gemm_bf16 PRIVATE host_tensor)
message("adding test test_${BASE_NAME}") target_link_libraries(test_gemm_bf16 PRIVATE device_gemm_instance)
add_test_executable(test_${BASE_NAME} ${TEST})
target_link_libraries(test_${BASE_NAME} PRIVATE host_tensor) add_test_executable(test_gemm_int8 gemm_int8.cpp)
target_link_libraries(test_${BASE_NAME} PRIVATE device_gemm_instance) target_link_libraries(test_gemm_int8 PRIVATE host_tensor)
endforeach(TEST ${GEMM_SOURCE}) target_link_libraries(test_gemm_int8 PRIVATE device_gemm_instance)
set(GEMM_SPLIT_K_SOURCE add_test_executable(test_gemm_split_k gemm_split_k.cpp)
gemm_split_k.cpp target_link_libraries(test_gemm_split_k PRIVATE host_tensor)
) target_link_libraries(test_gemm_split_k PRIVATE device_gemm_instance)
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)
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