aboutsummaryrefslogtreecommitdiff
path: root/reference_model/src/model_runner.cc
diff options
context:
space:
mode:
authorMatthew Sloyan <matthew.sloyan@arm.com>2022-10-18 18:02:48 +0100
committerMatthew Sloyan <matthew.sloyan@arm.com>2022-10-19 17:41:40 +0100
commit2e4d889fb036d1c0a34503400a3f45cfc6f9f3e1 (patch)
tree083a125f75dc4e338bf9382da538742b4cd5bfa7 /reference_model/src/model_runner.cc
parent4196491afc23d375b5476b05be16defeed4eadad (diff)
downloadreference_model-2e4d889fb036d1c0a34503400a3f45cfc6f9f3e1.tar.gz
Add FP16 support to IModelRunner
* Added specific FP16 readfromVector and writeToVector methods. * Added FP16 support to float readfromVector and writeToVector methods. * Added missing reference to IModelRunner::setInput. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I6b66468737e672afc925ccad4fb710fbb9427c14
Diffstat (limited to 'reference_model/src/model_runner.cc')
-rw-r--r--reference_model/src/model_runner.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/reference_model/src/model_runner.cc b/reference_model/src/model_runner.cc
index 2395a85..5c086e6 100644
--- a/reference_model/src/model_runner.cc
+++ b/reference_model/src/model_runner.cc
@@ -53,7 +53,7 @@ GraphStatus IModelRunner::run()
}
template <typename T>
-int IModelRunner::setInput(std::string input_name, std::vector<T> vals)
+int IModelRunner::setInput(std::string input_name, std::vector<T>& vals)
{
return model_runner_impl->setInput<T>(input_name, vals);
}
@@ -65,12 +65,14 @@ std::vector<T> IModelRunner::getOutput(std::string output_name)
}
// Template explicit specialization
-template int IModelRunner::setInput<float>(std::string input_name, std::vector<float> vals);
-template int IModelRunner::setInput<int32_t>(std::string input_name, std::vector<int32_t> vals);
-template int IModelRunner::setInput<int64_t>(std::string input_name, std::vector<int64_t> vals);
-template int IModelRunner::setInput<unsigned char>(std::string input_name, std::vector<unsigned char> vals);
+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);
+template int IModelRunner::setInput<int32_t>(std::string input_name, std::vector<int32_t>& vals);
+template int IModelRunner::setInput<int64_t>(std::string input_name, std::vector<int64_t>& vals);
+template int IModelRunner::setInput<unsigned char>(std::string input_name, std::vector<unsigned char>& vals);
template std::vector<float> IModelRunner::getOutput<float>(std::string output_name);
+template std::vector<half_float::half> IModelRunner::getOutput<half_float::half>(std::string output_name);
template std::vector<int32_t> IModelRunner::getOutput<int32_t>(std::string output_name);
template std::vector<int64_t> IModelRunner::getOutput<int64_t>(std::string output_name);
template std::vector<unsigned char> IModelRunner::getOutput<unsigned char>(std::string output_name); \ No newline at end of file