From a4d748b08accce06fab93e2d2b96e499b35ae89b Mon Sep 17 00:00:00 2001 From: Tai Ly Date: Tue, 28 Mar 2023 22:06:56 +0000 Subject: [reference model] Add precise mode This adds --precise_mode=1 option to tosa_referece_model, which will cause reference model to convert all floating point tensors to FP64 tensors and compute all operators accordingly. Also adds optional -p arguments to test runners tosa_verif_run_tests.py and tosa_verif_framework_compiler_runner.py to run tests in precise mode Signed-off-by: Tai Ly Change-Id: I156055216ad61710096497a8fa1a653be2a602a3 --- reference_model/src/model_runner_impl.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'reference_model/src/model_runner_impl.cc') diff --git a/reference_model/src/model_runner_impl.cc b/reference_model/src/model_runner_impl.cc index fa39c75..8089a1a 100644 --- a/reference_model/src/model_runner_impl.cc +++ b/reference_model/src/model_runner_impl.cc @@ -186,13 +186,13 @@ int ModelRunnerImpl::setInput(std::string input_name, uint8_t* raw_ptr, size_t s int status = 0; switch (tensor->getDtype()) { - case DType::DType_FP16: { + case TOSA_REF_TYPE_FP16: { auto typed_ptr = reinterpret_cast(raw_ptr); const int elements = size / sizeof(half_float::half); status = setInput(input_name, ArrayProxy(elements, typed_ptr)); break; } - case DType::DType_FP32: { + case TOSA_REF_TYPE_FP32: { auto typed_ptr = reinterpret_cast(raw_ptr); const int elements = size / sizeof(float); status = setInput(input_name, ArrayProxy(elements, typed_ptr)); @@ -252,13 +252,13 @@ int ModelRunnerImpl::getOutput(std::string output_name, uint8_t* raw_ptr, size_t int status = 0; switch (tensor->getDtype()) { - case DType::DType_FP16: { + case TOSA_REF_TYPE_FP16: { auto typed_ptr = reinterpret_cast(raw_ptr); const int elements = size / sizeof(half_float::half); status = tensor->writeToVector(ArrayProxy(elements, typed_ptr)); break; } - case DType::DType_FP32: { + case TOSA_REF_TYPE_FP32: { auto typed_ptr = reinterpret_cast(raw_ptr); const int elements = size / sizeof(float); status = tensor->writeToVector(ArrayProxy(elements, typed_ptr)); -- cgit v1.2.1