diff options
author | Matthew Bentham <matthew.bentham@arm.com> | 2019-04-01 17:17:58 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2019-04-02 10:22:16 +0100 |
commit | 16196e267833178dae62926ff090c50ec6813ad4 (patch) | |
tree | 03c0f7cd2490a1e68a63f71ef08c6a6c591f363c /ArmnnPreparedModel.cpp | |
parent | a6542c53e929172a36b4d3787686c13a7c569386 (diff) | |
download | android-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.cpp | 19 |
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; } /// |