5 unset(QUANTIZATION_VALUE_TEST)
6 unset(QUANTIZATION_VALUE_TEST_WITH_PARAM)
7 unset(QUANTIZATION_CONFIG_VALUE_TEST)
8 unset(QUANTIZATION_CONFIG_VALUE_TEST_WITH_PARAM)
9 unset(QUANTIZATION_WO_VALUE_TEST_WITH_PARAM)
11 macro(addTest NAME GRANULARITY DTYPE)
12 list(APPEND QUANTIZATION_VALUE_TEST ${NAME})
13 list(APPEND QUANTIZATION_VALUE_TEST_WITH_PARAM ${NAME} ${GRANULARITY} ${DTYPE})
16 macro(addQConfTest NAME GRANULARITY DTYPE)
17 list(APPEND QUANTIZATION_CONFIG_VALUE_TEST ${NAME})
18 list(APPEND QUANTIZATION_CONFIG_VALUE_TEST_WITH_PARAM ${NAME} ${GRANULARITY} ${DTYPE})
19 endmacro(addQConfTest)
21 macro(addWeightsOnlyTest NAME GRANULARITY DTYPE)
22 list(APPEND QUANTIZATION_WO_VALUE_TEST_WITH_PARAM ${NAME} ${GRANULARITY} ${DTYPE})
23 endmacro(addWeightsOnlyTest)
27 # Read "test.local.lst" if exists
28 include("test.local.lst" OPTIONAL)
32 get_target_property(ARTIFACTS_BIN_PATH testDataGenerator BINARY_DIR)
34 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gen_h5_explicit_inputs.py"
35 "${CMAKE_CURRENT_BINARY_DIR}/gen_h5_explicit_inputs.py" COPYONLY)
37 set(VIRTUALENV "${NNCC_OVERLAY_DIR}/venv_2_12_1")
40 ### Generate test.config
42 set(TEST_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/test.config")
46 COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_CONFIG}
47 COMMAND ${CMAKE_COMMAND} -E echo 'RECORD_MINMAX_PATH=\"$<TARGET_FILE:record-minmax>\"' >> ${TEST_CONFIG}
48 COMMAND ${CMAKE_COMMAND} -E echo 'CIRCLE_QUANTIZER_PATH=\"$<TARGET_FILE:circle-quantizer>\"' >> ${TEST_CONFIG}
49 COMMAND ${CMAKE_COMMAND} -E echo 'CIRCLE_TENSORDUMP_PATH=\"$<TARGET_FILE:circle-tensordump>\"' >> ${TEST_CONFIG}
50 COMMAND ${CMAKE_COMMAND} -E echo 'VIRTUALENV=\"${VIRTUALENV}\"' >> ${TEST_CONFIG}
52 DEPENDS circle-quantizer
53 DEPENDS circle-tensordump
54 COMMENT "Generate test configuration"
58 get_target_property(PICS_BIN_PATH pics BINARY_DIR)
59 add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/circle
60 COMMAND ${CMAKE_COMMAND} -E create_symlink
61 ${PICS_BIN_PATH}/circle ${CMAKE_CURRENT_BINARY_DIR}/circle)
63 list(APPEND TEST_DEPS "${TEST_CONFIG}" "${CMAKE_CURRENT_BINARY_DIR}/circle")
65 # This enforces CMake to generate all the dependencies during "build" phase
66 add_custom_target(pota_quantization_value_test_deps ALL DEPENDS ${TEST_DEPS})
70 NAME pota_fake_wquant_test
71 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_fake_wquant.sh"
73 "${ARTIFACTS_BIN_PATH}"
74 ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
78 NAME pota_record_minmax_test
79 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_record_minmax.sh"
81 "${ARTIFACTS_BIN_PATH}"
82 ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
86 NAME pota_quantization_test
87 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_quantization.sh"
89 "${ARTIFACTS_BIN_PATH}"
90 ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
94 NAME pota_fake_wquant_test_with_config
95 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_fake_wquant_with_config.sh"
97 "${ARTIFACTS_BIN_PATH}"
98 ${QUANTIZATION_CONFIG_VALUE_TEST_WITH_PARAM}
102 NAME pota_parallel_record_minmax_test
103 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_parallel_record_minmax.sh"
105 "${ARTIFACTS_BIN_PATH}"
106 ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
110 NAME pota_quantization_test_with_config
111 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_quantization_with_config.sh"
113 "${ARTIFACTS_BIN_PATH}"
114 ${QUANTIZATION_CONFIG_VALUE_TEST_WITH_PARAM}
118 NAME pota_wo_quantization_test
119 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_wo_quantization.sh"
121 "${ARTIFACTS_BIN_PATH}"
122 ${QUANTIZATION_WO_VALUE_TEST_WITH_PARAM}
125 set_tests_properties(pota_record_minmax_test PROPERTIES DEPENDS pota_fake_wquant_test)
126 set_tests_properties(pota_quantization_test PROPERTIES DEPENDS pota_record_minmax_test)
127 set_tests_properties(pota_parallel_record_minmax_test PROPERTIES DEPENDS pota_record_minmax_test)
128 set_tests_properties(pota_quantization_test_with_config PROPERTIES DEPENDS pota_fake_wquant_test_with_config)