1 unset(QUANTIZATION_VALUE_TEST)
2 unset(QUANTIZATION_VALUE_TEST_WITH_PARAM)
4 nnas_find_package(FlatBuffers QUIET)
5 if(NOT FlatBuffers_FOUND)
6 message(STATUS "Build pota-quantization-value-test: FAILED (missing FlatBuffers)")
8 endif(NOT FlatBuffers_FOUND)
10 macro(addTest NAME GRANULARITY DTYPE)
11 list(APPEND QUANTIZATION_VALUE_TEST ${NAME})
12 list(APPEND QUANTIZATION_VALUE_TEST_WITH_PARAM ${NAME} ${GRANULARITY} ${DTYPE})
17 # Read "test.local.lst" if exists
18 include("test.local.lst" OPTIONAL)
22 get_target_property(ARTIFACTS_BIN_PATH testDataGenerator BINARY_DIR)
23 get_target_property(SCHEMA_BIN_PATH mio_circle BINARY_DIR)
25 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gen_h5_explicit_inputs.py"
26 "${CMAKE_CURRENT_BINARY_DIR}/gen_h5_explicit_inputs.py" COPYONLY)
28 set(VIRTUALENV "${NNCC_OVERLAY_DIR}/venv_2_3_0")
31 ### Generate test.config
33 set(TEST_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/test.config")
37 COMMAND ${CMAKE_COMMAND} -E remove -f ${TEST_CONFIG}
38 COMMAND ${CMAKE_COMMAND} -E echo 'RECORD_MINMAX_PATH=\"$<TARGET_FILE:record-minmax>\"' >> ${TEST_CONFIG}
39 COMMAND ${CMAKE_COMMAND} -E echo 'CIRCLE_QUANTIZER_PATH=\"$<TARGET_FILE:circle-quantizer>\"' >> ${TEST_CONFIG}
40 COMMAND ${CMAKE_COMMAND} -E echo 'CIRCLE_TENSORDUMP_PATH=\"$<TARGET_FILE:circle-tensordump>\"' >> ${TEST_CONFIG}
41 COMMAND ${CMAKE_COMMAND} -E echo 'VIRTUALENV=\"${VIRTUALENV}\"' >> ${TEST_CONFIG}
43 DEPENDS circle-quantizer
44 DEPENDS circle-tensordump
45 COMMENT "Generate test configuration"
49 ### Generate python interface for circle schema
51 set(CIRCLE_SCHEMA_PYTHON_DIR "${CMAKE_CURRENT_BINARY_DIR}/circle")
54 OUTPUT ${CIRCLE_SCHEMA_PYTHON_DIR}
55 COMMAND ${CMAKE_COMMAND} -E remove_directory "${CIRCLE_SCHEMA_PYTHON_DIR}"
56 COMMAND "$<TARGET_FILE:flatbuffers::flatc>" --python
57 -o "${CMAKE_CURRENT_BINARY_DIR}" "${SCHEMA_BIN_PATH}/schema.fbs"
58 DEPENDS flatbuffers::flatc
59 COMMENT "Generate python interface for circle schema"
62 list(APPEND TEST_DEPS "${TEST_CONFIG}" "${CIRCLE_SCHEMA_PYTHON_DIR}")
64 # This enforces CMake to generate all the dependencies during "build" phase
65 add_custom_target(pota_quantization_value_test_deps ALL DEPENDS ${TEST_DEPS})
69 NAME pota_fake_wquant_test
70 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_fake_wquant.sh"
72 "${ARTIFACTS_BIN_PATH}"
73 ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
77 NAME pota_record_minmax_test
78 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_record_minmax.sh"
80 "${ARTIFACTS_BIN_PATH}"
81 ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
85 NAME pota_quantization_test
86 COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_quantization.sh"
88 "${ARTIFACTS_BIN_PATH}"
89 ${QUANTIZATION_VALUE_TEST_WITH_PARAM}
92 set_tests_properties(pota_record_minmax_test PROPERTIES DEPENDS pota_fake_wquant_test)
93 set_tests_properties(pota_quantization_test PROPERTIES DEPENDS pota_record_minmax_test)