From 6933a73c4a7e25792ac0d82ceff9d94bb6585822 Mon Sep 17 00:00:00 2001 From: Yifan Zhao <yifanz16@illinois.edu> Date: Tue, 30 Mar 2021 17:40:14 -0500 Subject: [PATCH] Fixed a dependency order issue between CMake targets --- .../test/dnn_benchmarks/hpvm-c/CMakeLists.txt | 50 ++++++++++--------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/CMakeLists.txt b/hpvm/test/dnn_benchmarks/hpvm-c/CMakeLists.txt index d163ddf9f7..033023b761 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/CMakeLists.txt +++ b/hpvm/test/dnn_benchmarks/hpvm-c/CMakeLists.txt @@ -1,30 +1,6 @@ # First get approxhpvm.py which we then use to compile benchmarks. get_filename_component(APPROXHPVM_PY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/approxhpvm.py REALPATH) -# --[ llvm-lit test setup -# lit.cfg.py looks for tests in CMAKE_CURRENT_BINARY_DIR (see lit.cfg.py) -# as most of the tests require some kind of compilation / generation -# which is best done over there. -configure_lit_site_cfg( - ../../lit.site.cfg.py.in - ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py - MAIN_CONFIG - ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py -) -add_lit_testsuite(check-hpvm-dnn "Running HPVM DNNs" - ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS dnn_benchmarks # Compile all dnn benchmarks to run them - ARGS "-j1" # Run DNN benchmarks sequentially -) -# Install an accuracy comparator under build/bin -set(BIN_DIR ${LLVM_BINARY_DIR}/${LLVM_TOOLS_INSTALL_DIR}) -add_custom_command( - OUTPUT ${BIN_DIR}/check_dnn_acc.py - COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/check_dnn_acc.py ${BIN_DIR} - COMMAND chmod +x ${BIN_DIR}/check_dnn_acc.py - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/check_dnn_acc.py -) - # Each source file contains a @MODEL_PARAMS_DIR@ waiting to be filled in. set(MODEL_PARAMS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../model_params/") set(test_compile_targets "") @@ -71,6 +47,32 @@ foreach(dir ${entries}) hpvm_add_dnn_test(${dirname}_cudnn) endforeach(dir) +# Install an accuracy comparator under build/bin for test suite. +set(BIN_DIR ${LLVM_BINARY_DIR}/${LLVM_TOOLS_INSTALL_DIR}) +message("BIN_DIR = ${BIN_DIR}") +add_custom_command( + OUTPUT ${BIN_DIR}/check_dnn_acc.py + COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/check_dnn_acc.py ${BIN_DIR} + COMMAND chmod +x ${BIN_DIR}/check_dnn_acc.py + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/check_dnn_acc.py +) + message(STATUS "List of HPVM-C DNN benchmarks: ${test_compile_targets}") add_custom_target(dnn_benchmarks DEPENDS ${test_compile_targets} ${BIN_DIR}/check_dnn_acc.py) message(STATUS "Target name for compiling all DNN benchmarks: dnn_benchmarks") + +# --[ llvm-lit test setup +# lit.cfg.py looks for tests in CMAKE_CURRENT_BINARY_DIR (see lit.cfg.py) +# as most of the tests require some kind of compilation / generation +# which is best done over there. +configure_lit_site_cfg( + ../../lit.site.cfg.py.in + ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py + MAIN_CONFIG + ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py +) +add_lit_testsuite(check-hpvm-dnn "Running HPVM DNNs" + ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS dnn_benchmarks # Compile all dnn benchmarks to run them + ARGS "-j1" # Run DNN benchmarks sequentially +) -- GitLab