aboutsummaryrefslogtreecommitdiff
path: root/ArmnnPreparedModel.cpp
diff options
context:
space:
mode:
authorMatthew Bentham <matthew.bentham@arm.com>2019-04-01 17:17:58 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2019-04-02 10:22:16 +0100
commit16196e267833178dae62926ff090c50ec6813ad4 (patch)
tree03c0f7cd2490a1e68a63f71ef08c6a6c591f363c /ArmnnPreparedModel.cpp
parenta6542c53e929172a36b4d3787686c13a7c569386 (diff)
downloadandroid-nn-driver-16196e267833178dae62926ff090c50ec6813ad4.tar.gz
MLCE-110 Propagate error from armnn EnqueueWorkload
Change-Id: Ic53b1cdbdd3a7d656932651c74911940affc09b6 Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Diffstat (limited to 'ArmnnPreparedModel.cpp')
-rw-r--r--ArmnnPreparedModel.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/ArmnnPreparedModel.cpp b/ArmnnPreparedModel.cpp
index d7f727f5..edb1c934 100644
--- a/ArmnnPreparedModel.cpp
+++ b/ArmnnPreparedModel.cpp
@@ -239,7 +239,13 @@ void ArmnnPreparedModel<HalVersion>::ExecuteGraph(
// run it
try
{
- m_Runtime->EnqueueWorkload(m_NetworkId, *pInputTensors, *pOutputTensors);
+ armnn::Status status = m_Runtime->EnqueueWorkload(m_NetworkId, *pInputTensors, *pOutputTensors);
+ if (status != armnn::Status::Success)
+ {
+ ALOGW("EnqueueWorkload failed");
+ NotifyCallbackAndCheck(callback, ErrorStatus::GENERAL_FAILURE, "ArmnnPreparedModel::ExecuteGraph");
+ return;
+ }
}
catch (armnn::Exception& e)
{
@@ -262,7 +268,7 @@ void ArmnnPreparedModel<HalVersion>::ExecuteGraph(
}
template<typename HalVersion>
-void ArmnnPreparedModel<HalVersion>::ExecuteWithDummyInputs()
+bool ArmnnPreparedModel<HalVersion>::ExecuteWithDummyInputs()
{
std::vector<std::vector<char>> storage;
armnn::InputTensors inputTensors;
@@ -287,12 +293,19 @@ void ArmnnPreparedModel<HalVersion>::ExecuteWithDummyInputs()
try
{
- m_Runtime->EnqueueWorkload(m_NetworkId, inputTensors, outputTensors);
+ armnn::Status status = m_Runtime->EnqueueWorkload(m_NetworkId, inputTensors, outputTensors);
+ if (status != armnn::Status::Success)
+ {
+ ALOGW("ExecuteWithDummyInputs: EnqueueWorkload failed");
+ return false;
+ }
}
catch (armnn::Exception& e)
{
ALOGW("ExecuteWithDummyInputs: armnn::Exception caught from EnqueueWorkload: %s", e.what());
+ return false;
}
+ return true;
}
///