diff options
author | Jiacheng Liang <jiacheng.liang@arm.com> | 2023-07-14 12:43:46 +0100 |
---|---|---|
committer | Jiacheng Liang <jiacheng.liang@arm.com> | 2023-07-14 12:56:04 +0100 |
commit | e7c7cab69c2f02d86474c60ed04debc0e7c7bf65 (patch) | |
tree | 3c9e839e20576031d298771f23a7a51c37d6ebd1 | |
parent | 6c93f41dcb781dde1351ecff549df2a753d5e9c6 (diff) | |
download | reference_model-e7c7cab69c2f02d86474c60ed04debc0e7c7bf65.tar.gz |
Add support for int32 tensor datatype in model runner
Signed-off-by: Jiacheng Liang <jiacheng.liang@arm.com>
Change-Id: Ie31041cbcd01f6290be06eabfe5c619123ae989f
-rw-r--r-- | reference_model/src/model_runner_impl.cc | 12 | ||||
-rw-r--r-- | reference_model/src/operators.cc | 20 |
2 files changed, 30 insertions, 2 deletions
diff --git a/reference_model/src/model_runner_impl.cc b/reference_model/src/model_runner_impl.cc index 31e100a..f1b70e7 100644 --- a/reference_model/src/model_runner_impl.cc +++ b/reference_model/src/model_runner_impl.cc @@ -198,6 +198,12 @@ int ModelRunnerImpl::setInput(std::string input_name, uint8_t* raw_ptr, size_t s status = setInput(input_name, ArrayProxy(elements, typed_ptr)); break; } + case TOSA_REF_TYPE_INT32: { + auto typed_ptr = reinterpret_cast<int*>(raw_ptr); + const int elements = size / sizeof(int); + status = setInput(input_name, ArrayProxy(elements, typed_ptr)); + break; + } default: status = 1; } @@ -270,6 +276,12 @@ int ModelRunnerImpl::getOutput(std::string output_name, uint8_t* raw_ptr, size_t status = tensor->writeToVector(ArrayProxy(elements, typed_ptr)); break; } + case TOSA_REF_TYPE_INT32: { + auto typed_ptr = reinterpret_cast<int*>(raw_ptr); + const int elements = size / sizeof(int); + status = tensor->writeToVector(ArrayProxy(elements, typed_ptr)); + break; + } default: status = 1; } diff --git a/reference_model/src/operators.cc b/reference_model/src/operators.cc index 5796129..b6625d0 100644 --- a/reference_model/src/operators.cc +++ b/reference_model/src/operators.cc @@ -46,12 +46,28 @@ tosa::DType translate_client_datatype(tosa_datatype_t type) { switch (type) { + case tosa_datatype_bf16_t: + return tosa::DType::DType_BF16; + case tosa_datatype_bool_t: + return tosa::DType::DType_BOOL; case tosa_datatype_fp16_t: return tosa::DType::DType_FP16; case tosa_datatype_fp32_t: return tosa::DType::DType_FP32; - case tosa_datatype_bool_t: - return tosa::DType::DType_BOOL; + case tosa_datatype_int16_t: + return tosa::DType::DType_INT16; + case tosa_datatype_int32_t: + return tosa::DType::DType_INT32; + case tosa_datatype_int48_t: + return tosa::DType::DType_INT48; + case tosa_datatype_int4_t: + return tosa::DType::DType_INT4; + case tosa_datatype_int8_t: + return tosa::DType::DType_INT8; + case tosa_datatype_uint16_t: + return tosa::DType::DType_UINT16; + case tosa_datatype_uint8_t: + return tosa::DType::DType_UINT8; default: return tosa::DType::DType_UNKNOWN; } |