aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/model_runner_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'reference_model/src/model_runner_impl.cc')
-rw-r--r--reference_model/src/model_runner_impl.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/reference_model/src/model_runner_impl.cc b/reference_model/src/model_runner_impl.cc
index bf23bac..b01b90c 100644
--- a/reference_model/src/model_runner_impl.cc
+++ b/reference_model/src/model_runner_impl.cc
@@ -243,6 +243,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_INT8: {
+ auto typed_ptr = reinterpret_cast<int8_t*>(raw_ptr);
+ const int elements = size / sizeof(int8_t);
+ status = setInput(input_name, ArrayProxy(elements, typed_ptr));
+ break;
+ }
case TOSA_REF_TYPE_INT16: {
auto typed_ptr = reinterpret_cast<int16_t*>(raw_ptr);
const int elements = size / sizeof(int16_t);
@@ -339,6 +345,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_INT8: {
+ auto typed_ptr = reinterpret_cast<int8_t*>(raw_ptr);
+ const int elements = size / sizeof(int8_t);
+ status = tensor->writeToVector(ArrayProxy(elements, typed_ptr));
+ break;
+ }
case TOSA_REF_TYPE_INT16: {
auto typed_ptr = reinterpret_cast<int16_t*>(raw_ptr);
const int elements = size / sizeof(int16_t);
@@ -449,6 +461,8 @@ void ModelRunnerImpl::checkGraphStatus(SubgraphTraverser& main_gt)
template int ModelRunnerImpl::setInput<double>(std::string input_name, ArrayProxy<double> vals);
template int ModelRunnerImpl::setInput<float>(std::string input_name, ArrayProxy<float> vals);
template int ModelRunnerImpl::setInput<half_float::half>(std::string input_name, ArrayProxy<half_float::half> vals);
+template int ModelRunnerImpl::setInput<int8_t>(std::string input_name, ArrayProxy<int8_t> vals);
+template int ModelRunnerImpl::setInput<int16_t>(std::string input_name, ArrayProxy<int16_t> vals);
template int ModelRunnerImpl::setInput<int32_t>(std::string input_name, ArrayProxy<int32_t> vals);
template int ModelRunnerImpl::setInput<int64_t>(std::string input_name, ArrayProxy<int64_t> vals);
template int ModelRunnerImpl::setInput<unsigned char>(std::string input_name, ArrayProxy<unsigned char> vals);
@@ -456,6 +470,8 @@ template int ModelRunnerImpl::setInput<unsigned char>(std::string input_name, Ar
template std::vector<double> ModelRunnerImpl::getOutput<double>(std::string output_name);
template std::vector<float> ModelRunnerImpl::getOutput<float>(std::string output_name);
template std::vector<half_float::half> ModelRunnerImpl::getOutput<half_float::half>(std::string output_name);
+template std::vector<int8_t> ModelRunnerImpl::getOutput<int8_t>(std::string output_name);
+template std::vector<int16_t> ModelRunnerImpl::getOutput<int16_t>(std::string output_name);
template std::vector<int32_t> ModelRunnerImpl::getOutput<int32_t>(std::string output_name);
template std::vector<int64_t> ModelRunnerImpl::getOutput<int64_t>(std::string output_name);
template std::vector<unsigned char> ModelRunnerImpl::getOutput<unsigned char>(std::string output_name);