aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/model_runner.cc
diff options
context:
space:
mode:
authorGrant Watson <grant.watson@arm.com>2022-11-16 15:32:39 +0000
committerEric Kunze <eric.kunze@arm.com>2022-12-15 16:41:27 +0000
commit64285a1f25e2c7b85ed1f00b7947403e92baea00 (patch)
tree6d29c54f6497741449339e808508c854ba6a2267 /reference_model/src/model_runner.cc
parentb45db9a696f5df7b233f374248f329c16ee7ae64 (diff)
downloadreference_model-64285a1f25e2c7b85ed1f00b7947403e92baea00.tar.gz
Extend reference model API with eager operator execution entrypoints
- Adds a script to generate operators.h and operators.cc - Adds jinja2 templates for generating operators.h and operators.cc - Adds unit tests for a subset of the operators generated - Includes the TOSA specification as a submodule - Adds supporting C++ and header files Signed-off-by: Grant Watson <grant.watson@arm.com> Change-Id: I5b60db4c56113110d8e75fe1152525d258233f9c
Diffstat (limited to 'reference_model/src/model_runner.cc')
-rw-r--r--reference_model/src/model_runner.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/reference_model/src/model_runner.cc b/reference_model/src/model_runner.cc
index 5c086e6..62d6ce6 100644
--- a/reference_model/src/model_runner.cc
+++ b/reference_model/src/model_runner.cc
@@ -55,7 +55,12 @@ GraphStatus IModelRunner::run()
template <typename T>
int IModelRunner::setInput(std::string input_name, std::vector<T>& vals)
{
- return model_runner_impl->setInput<T>(input_name, vals);
+ return model_runner_impl->setInput<T>(input_name, ArrayProxy(vals.size(), vals.data()));
+}
+
+int IModelRunner::setInput(std::string input_name, uint8_t* raw_ptr, size_t size)
+{
+ return model_runner_impl->setInput(input_name, raw_ptr, size);
}
template <typename T>
@@ -64,6 +69,11 @@ std::vector<T> IModelRunner::getOutput(std::string output_name)
return model_runner_impl->getOutput<T>(output_name);
}
+int IModelRunner::getOutput(std::string output_name, uint8_t* raw_ptr, size_t size)
+{
+ return model_runner_impl->getOutput(output_name, raw_ptr, size);
+}
+
// Template explicit specialization
template int IModelRunner::setInput<float>(std::string input_name, std::vector<float>& vals);
template int IModelRunner::setInput<half_float::half>(std::string input_name, std::vector<half_float::half>& vals);