diff options
author | Tai Ly <tai.ly@arm.com> | 2023-03-28 22:06:56 +0000 |
---|---|---|
committer | Tai Ly <tai.ly@arm.com> | 2023-05-05 19:23:15 +0000 |
commit | a4d748b08accce06fab93e2d2b96e499b35ae89b (patch) | |
tree | 20a3957e1f45f65f35d5d67ecce1618659e388f0 /reference_model/src/model_runner_impl.cc | |
parent | 0c71686875618b2e11290273b7a05b88ef8a8aae (diff) | |
download | reference_model-a4d748b08accce06fab93e2d2b96e499b35ae89b.tar.gz |
[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 <tai.ly@arm.com>
Change-Id: I156055216ad61710096497a8fa1a653be2a602a3
Diffstat (limited to 'reference_model/src/model_runner_impl.cc')
-rw-r--r-- | reference_model/src/model_runner_impl.cc | 8 |
1 files changed, 4 insertions, 4 deletions
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<half_float::half*>(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<float*>(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<half_float::half*>(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<float*>(raw_ptr); const int elements = size / sizeof(float); status = tensor->writeToVector(ArrayProxy(elements, typed_ptr)); |