diff options
Diffstat (limited to 'reference_model')
-rw-r--r-- | reference_model/CMakeLists.txt | 66 | ||||
-rw-r--r-- | reference_model/src/verify/verify_config.cc | 19 | ||||
-rw-r--r-- | reference_model/src/verify/verify_dot_product.cc | 2 |
3 files changed, 54 insertions, 33 deletions
diff --git a/reference_model/CMakeLists.txt b/reference_model/CMakeLists.txt index 227d19f..88192bf 100644 --- a/reference_model/CMakeLists.txt +++ b/reference_model/CMakeLists.txt @@ -91,14 +91,11 @@ set(CXX_SOURCE src/ops/control_flow.cc ) -# Build TOSA Reference Model library -add_library(tosa_reference_model_lib ${CXX_SOURCE}) - -target_include_directories(tosa_reference_model_lib - PUBLIC +set(PUBLIC_INCLUDE_DIRS $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SRC_DIR}/include> - PRIVATE +) +set(PRIVATE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/src ${FLATBUFFERS_DIR}/include ${EIGEN_DIR} @@ -108,6 +105,16 @@ target_include_directories(tosa_reference_model_lib ${JSON_DIR}/single_include ) +# Build TOSA Reference Model library +add_library(tosa_reference_model_lib STATIC ${CXX_SOURCE}) + +target_include_directories(tosa_reference_model_lib + PUBLIC + ${PUBLIC_INCLUDE_DIRS} + PRIVATE + ${PRIVATE_INCLUDE_DIRS} +) + target_link_libraries(tosa_reference_model_lib PRIVATE ${SERIALIZATION_LIB} @@ -130,6 +137,21 @@ list(APPEND PUBLIC_HEADERS set_target_properties(tosa_reference_model_lib PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}") +# Build TOSA verification library +add_library(tosa_reference_verify_lib SHARED + src/verify/verify_dot_product.cc + src/verify/verify_entry.cc + src/verify/verify_utils.cc + src/verify/verify_config.cc + src/func_debug.cc +) +target_include_directories(tosa_reference_verify_lib + PUBLIC + ${PUBLIC_INCLUDE_DIRS} + PRIVATE + ${PRIVATE_INCLUDE_DIRS} +) + # Build TOSA Refererence Model executable if(BUILD_TOSA_REFERENCE_MODEL_EXECUTABLE) set(CXX_SOURCE_EX src/main.cpp) @@ -139,16 +161,9 @@ if(BUILD_TOSA_REFERENCE_MODEL_EXECUTABLE) target_include_directories(tosa_reference_model PUBLIC - $<INSTALL_INTERFACE:include> - $<BUILD_INTERFACE:${CMAKE_CURRENT_SRC_DIR}/include> + ${PUBLIC_INCLUDE_DIRS} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${FLATBUFFERS_DIR}/include - ${EIGEN_DIR} - ${EIGEN_DIR}/unsupported/ - ${SERIALIZATION_DIR}/include - ${HALF_DIR}/include - ${JSON_DIR}/single_include + ${PRIVATE_INCLUDE_DIRS} ) target_link_libraries(tosa_reference_model @@ -183,17 +198,10 @@ if(BUILD_TOSA_REFERENCE_MODEL_TESTS) target_include_directories(unit_tests PUBLIC - $<INSTALL_INTERFACE:include> - $<BUILD_INTERFACE:${CMAKE_CURRENT_SRC_DIR}/include> + ${PUBLIC_INCLUDE_DIRS} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${FLATBUFFERS_DIR}/include - ${EIGEN_DIR} - ${EIGEN_DIR}/unsupported/ - ${SERIALIZATION_DIR}/include - ${HALF_DIR}/include + ${PRIVATE_INCLUDE_DIRS} ${DOCTEST_DIR} - ${JSON_DIR}/single_include ) target_link_libraries(unit_tests @@ -217,15 +225,9 @@ if(BUILD_MODEL_RUNNER_SAMPLE) target_include_directories(model_runner_sample PUBLIC - $<INSTALL_INTERFACE:include> - $<BUILD_INTERFACE:${CMAKE_CURRENT_SRC_DIR}/include> + ${PUBLIC_INCLUDE_DIRS} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${FLATBUFFERS_DIR}/include - ${EIGEN_DIR} - ${EIGEN_DIR}/unsupported/ - ${SERIALIZATION_DIR}/include - ${HALF_DIR}/include + ${PRIVATE_INCLUDE_DIRS} ) target_link_libraries(model_runner_sample diff --git a/reference_model/src/verify/verify_config.cc b/reference_model/src/verify/verify_config.cc new file mode 100644 index 0000000..3bae9b9 --- /dev/null +++ b/reference_model/src/verify/verify_config.cc @@ -0,0 +1,19 @@ +// Copyright (c) 2023, ARM Limited. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "model_common.h" + +// Global instantiation of configuration and debug objects for verify lib +func_config_t g_func_config; +func_debug_t g_func_debug; diff --git a/reference_model/src/verify/verify_dot_product.cc b/reference_model/src/verify/verify_dot_product.cc index a24f83f..0b05c92 100644 --- a/reference_model/src/verify/verify_dot_product.cc +++ b/reference_model/src/verify/verify_dot_product.cc @@ -89,7 +89,7 @@ bool validateData(const double* ref, const double* bnd, const AccType* imp, size for (size_t i = 0; i < T; ++i) { auto out_err = validateElement<AccType>(ref[i], bnd[i], imp[i], KS); - TOSA_REF_REQUIRE(out_err, "output error is 0"); + TOSA_REF_REQUIRE(out_err, "data required to be zero or error within range"); out_err_sum += out_err.value(); out_err_sumsq += out_err.value() * out_err.value(); } |