diff options
author | Grant Watson <grant.watson@arm.com> | 2022-11-16 15:32:39 +0000 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2022-12-15 16:41:27 +0000 |
commit | 64285a1f25e2c7b85ed1f00b7947403e92baea00 (patch) | |
tree | 6d29c54f6497741449339e808508c854ba6a2267 /reference_model/src/model_runner.cc | |
parent | b45db9a696f5df7b233f374248f329c16ee7ae64 (diff) | |
download | reference_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.cc | 12 |
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); |