aboutsummaryrefslogtreecommitdiff
path: root/ArmnnPreparedModel_1_3.hpp
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2021-07-08 13:07:19 +0100
committerFinn Williams <Finn.Williams@arm.com>2021-07-12 17:09:06 +0100
commitfdf2eaea1773d066dbb48e3d214ccd5446fa918a (patch)
tree5b68a1a30e65bf0cdac65199bef5ea11eefaa442 /ArmnnPreparedModel_1_3.hpp
parentf769f292ba506784c8d21d691de821f4e3b53fec (diff)
downloadandroid-nn-driver-fdf2eaea1773d066dbb48e3d214ccd5446fa918a.tar.gz
IVGCVSW-6062 update ArmnnPreparedModels to have a single static instance of the threadpool
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: Ie350a11eab5d677dd6a5571ea4094aa51b23c501
Diffstat (limited to 'ArmnnPreparedModel_1_3.hpp')
-rw-r--r--ArmnnPreparedModel_1_3.hpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/ArmnnPreparedModel_1_3.hpp b/ArmnnPreparedModel_1_3.hpp
index 46798cde..a245cc4c 100644
--- a/ArmnnPreparedModel_1_3.hpp
+++ b/ArmnnPreparedModel_1_3.hpp
@@ -175,20 +175,23 @@ private:
CallbackContext m_CallbackContext,
armnn::QosExecPriority priority);
- armnn::NetworkId m_NetworkId;
- armnn::IRuntime* m_Runtime;
- std::unique_ptr<armnn::Threadpool> m_Threadpool;
- V1_3::Model m_Model;
+ armnn::NetworkId m_NetworkId;
+ armnn::IRuntime* m_Runtime;
+ V1_3::Model m_Model;
// There must be a single RequestThread for all ArmnnPreparedModel objects to ensure serial execution of workloads
// It is specific to this class, so it is declared as static here
- static RequestThread_1_3<ArmnnPreparedModel_1_3, HalVersion, CallbackContext_1_3> m_RequestThread;
- uint32_t m_RequestCount;
- const std::string& m_RequestInputsAndOutputsDumpDir;
- const bool m_GpuProfilingEnabled;
- V1_3::Priority m_ModelPriority;
-
- std::shared_ptr<IWorkingMemHandle> m_WorkingMemHandle;
- const bool m_AsyncModelExecutionEnabled;
+ static RequestThread_1_3<ArmnnPreparedModel_1_3,
+ HalVersion,
+ CallbackContext_1_3> m_RequestThread;
+ uint32_t m_RequestCount;
+ const std::string& m_RequestInputsAndOutputsDumpDir;
+ const bool m_GpuProfilingEnabled;
+ V1_3::Priority m_ModelPriority;
+
+ // Static to allow sharing of threadpool between ArmnnPreparedModel instances
+ static std::unique_ptr<armnn::Threadpool> m_Threadpool;
+ std::shared_ptr<IWorkingMemHandle> m_WorkingMemHandle;
+ const bool m_AsyncModelExecutionEnabled;
};
}