aboutsummaryrefslogtreecommitdiff
path: root/RequestThread.cpp
diff options
context:
space:
mode:
authorMike Kelly <mike.kelly@arm.com>2019-07-22 14:06:00 +0100
committerMike Kelly <mike.kelly@arm.com>2019-07-22 14:06:00 +0100
commit65c42dc4d68ac163b77a3139feee3e7d4530b5c5 (patch)
treeb3ae65334c2dbfc1cc3d5a2cb336a0244b1ececc /RequestThread.cpp
parent9843c014726028b9082d5a9901db80b9dc519121 (diff)
downloadandroid-nn-driver-65c42dc4d68ac163b77a3139feee3e7d4530b5c5.tar.gz
IVGCVSW-3463 Fix Hal 1.2 Dynamic Output Shape VTS test failures
*Updating ArmnnPreparedModel_1_2 to work with output shapes and timing. Change-Id: I06c4ecaf1e2c36ef77a0731ece4885fc3997cd3b Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Diffstat (limited to 'RequestThread.cpp')
-rw-r--r--RequestThread.cpp34
1 files changed, 17 insertions, 17 deletions
diff --git a/RequestThread.cpp b/RequestThread.cpp
index 4b646034..052c5c11 100644
--- a/RequestThread.cpp
+++ b/RequestThread.cpp
@@ -21,15 +21,15 @@ using namespace android;
namespace armnn_driver
{
-template <template <typename HalVersion> class PreparedModel, typename HalVersion>
-RequestThread<PreparedModel, HalVersion>::RequestThread()
+template <template <typename HalVersion> class PreparedModel, typename HalVersion, typename Callback>
+RequestThread<PreparedModel, HalVersion, Callback>::RequestThread()
{
ALOGV("RequestThread::RequestThread()");
m_Thread = std::make_unique<std::thread>(&RequestThread::Process, this);
}
-template <template <typename HalVersion> class PreparedModel, typename HalVersion>
-RequestThread<PreparedModel, HalVersion>::~RequestThread()
+template <template <typename HalVersion> class PreparedModel, typename HalVersion, typename Callback>
+RequestThread<PreparedModel, HalVersion, Callback>::~RequestThread()
{
ALOGV("RequestThread::~RequestThread()");
@@ -54,12 +54,12 @@ RequestThread<PreparedModel, HalVersion>::~RequestThread()
catch (const std::exception&) { } // Swallow any exception.
}
-template <template <typename HalVersion> class PreparedModel, typename HalVersion>
-void RequestThread<PreparedModel, HalVersion>::PostMsg(PreparedModel<HalVersion>* model,
+template <template <typename HalVersion> class PreparedModel, typename HalVersion, typename Callback>
+void RequestThread<PreparedModel, HalVersion, Callback>::PostMsg(PreparedModel<HalVersion>* model,
std::shared_ptr<std::vector<::android::nn::RunTimePoolInfo>>& memPools,
std::shared_ptr<armnn::InputTensors>& inputTensors,
std::shared_ptr<armnn::OutputTensors>& outputTensors,
- const ::android::sp<V1_0::IExecutionCallback>& callback)
+ Callback callback)
{
ALOGV("RequestThread::PostMsg(...)");
auto data = std::make_shared<AsyncExecuteData>(model,
@@ -71,8 +71,8 @@ void RequestThread<PreparedModel, HalVersion>::PostMsg(PreparedModel<HalVersion>
PostMsg(pMsg);
}
-template <template <typename HalVersion> class PreparedModel, typename HalVersion>
-void RequestThread<PreparedModel, HalVersion>::PostMsg(std::shared_ptr<ThreadMsg>& pMsg)
+template <template <typename HalVersion> class PreparedModel, typename HalVersion, typename Callback>
+void RequestThread<PreparedModel, HalVersion, Callback>::PostMsg(std::shared_ptr<ThreadMsg>& pMsg)
{
ALOGV("RequestThread::PostMsg(pMsg)");
// Add a message to the queue and notify the request thread
@@ -81,8 +81,8 @@ void RequestThread<PreparedModel, HalVersion>::PostMsg(std::shared_ptr<ThreadMsg
m_Cv.notify_one();
}
-template <template <typename HalVersion> class PreparedModel, typename HalVersion>
-void RequestThread<PreparedModel, HalVersion>::Process()
+template <template <typename HalVersion> class PreparedModel, typename HalVersion, typename Callback>
+void RequestThread<PreparedModel, HalVersion, Callback>::Process()
{
ALOGV("RequestThread::Process()");
while (true)
@@ -111,7 +111,7 @@ void RequestThread<PreparedModel, HalVersion>::Process()
model->ExecuteGraph(pMsg->data->m_MemPools,
pMsg->data->m_InputTensors,
pMsg->data->m_OutputTensors,
- pMsg->data->m_callback);
+ pMsg->data->m_Callback);
break;
}
@@ -139,16 +139,16 @@ void RequestThread<PreparedModel, HalVersion>::Process()
/// Class template specializations
///
-template class RequestThread<ArmnnPreparedModel, hal_1_0::HalPolicy>;
+template class RequestThread<ArmnnPreparedModel, hal_1_0::HalPolicy, ArmnnCallback_1_0>;
#ifdef ARMNN_ANDROID_NN_V1_1
-template class RequestThread<armnn_driver::ArmnnPreparedModel, hal_1_1::HalPolicy>;
+template class RequestThread<armnn_driver::ArmnnPreparedModel, hal_1_1::HalPolicy, ArmnnCallback_1_0>;
#endif
#ifdef ARMNN_ANDROID_NN_V1_2
-template class RequestThread<ArmnnPreparedModel, hal_1_1::HalPolicy>;
-template class RequestThread<ArmnnPreparedModel, hal_1_2::HalPolicy>;
-template class RequestThread<ArmnnPreparedModel_1_2, hal_1_2::HalPolicy>;
+template class RequestThread<ArmnnPreparedModel, hal_1_1::HalPolicy, ArmnnCallback_1_0>;
+template class RequestThread<ArmnnPreparedModel, hal_1_2::HalPolicy, ArmnnCallback_1_0>;
+template class RequestThread<ArmnnPreparedModel_1_2, hal_1_2::HalPolicy, ArmnnCallback_1_2>;
#endif
} // namespace armnn_driver