From 6a828121f549eef62257768b4f1f01735b4bef18 Mon Sep 17 00:00:00 2001 From: Yifan Zhao <yifanz16@illinois.edu> Date: Wed, 27 Jan 2021 04:28:38 -0600 Subject: [PATCH] Added cmake targets to run benchmarks --- hpvm/test/dnn_benchmarks/CMakeLists.txt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/hpvm/test/dnn_benchmarks/CMakeLists.txt b/hpvm/test/dnn_benchmarks/CMakeLists.txt index 887b2d1e6c..53ffc5ba35 100644 --- a/hpvm/test/dnn_benchmarks/CMakeLists.txt +++ b/hpvm/test/dnn_benchmarks/CMakeLists.txt @@ -40,10 +40,10 @@ list( ) # The hpvm-rt runtime -# This has to be explicitly set as hpvm-rt.ll is created in a custom_target +# This has to be explicitly set as hpvm-rt.bc is created in a custom_target # and does not export its file location. # Keep this in sync with hpvm/projects/hpvm-rt/CMakeLists.txt. -set(HPVM_RT_PATH ${PROJECT_BINARY_DIR}/tools/hpvm/projects/hpvm-rt/hpvm-rt.ll) +set(HPVM_RT_PATH ${PROJECT_BINARY_DIR}/tools/hpvm/projects/hpvm-rt/hpvm-rt.bc) # Compile flags (clang++) set(CLANG_FLAGS -fno-exceptions -std=c++11 -O3) @@ -89,7 +89,7 @@ function(compile_single_benchmark target src_file extra_passes extra_dfg_flags) ) add_custom_command( OUTPUT "${WORK_DIR}/${target}.linked.bc" - DEPENDS "${WORK_DIR}/${target}.llvm.ll" hpvm-rt.ll llvm-link + DEPENDS "${WORK_DIR}/${target}.llvm.ll" hpvm-rt.bc llvm-link COMMAND ${LLVM_LINK} ${WORK_DIR}/${target}.llvm.ll ${HPVM_RT_PATH} -o ${WORK_DIR}/${target}.linked.bc ) @@ -106,12 +106,23 @@ function(compile_single_benchmark target src_file extra_passes extra_dfg_flags) set(test_compile_targets ${test_compile_targets} ${target} PARENT_SCOPE) endfunction(compile_single_benchmark) +set(test_run_targets "") +function(run_single_benchmark run_target benchmark) + add_custom_target( + ${run_target} + COMMAND ${WORK_DIR}/${benchmark} + ) + add_dependencies(${run_target} ${benchmark}) + set(test_run_targets ${test_run_targets} ${run_target} PARENT_SCOPE) +endfunction(run_single_benchmark) + file(GLOB entries ./benchmarks/*) foreach(dir ${entries}) get_filename_component(dirname "${dir}" NAME) compile_single_benchmark( "test_${dirname}" ${dir}/${dirname}.cpp LLVMDFG2LLVM_CUDNN -dfg2llvm-cudnn ) + run_single_benchmark("run_${dirname}" "test_${dirname}") set( loop_extra_flags -dfg2llvm-wrapperapi @@ -122,6 +133,7 @@ foreach(dir ${entries}) "test_${dirname}_loop" ${dir}/${dirname}_loop.cpp LLVMDFG2LLVM_WrapperAPI "${loop_extra_flags}" ) + run_single_benchmark("run_${dirname}_loop" "test_${dirname}_loop") endforeach(dir) message(STATUS "List of test dnn benchmarks: ${test_compile_targets}") add_custom_target(dnn_benchmarks DEPENDS ${test_compile_targets}) -- GitLab