From fdf2eaea1773d066dbb48e3d214ccd5446fa918a Mon Sep 17 00:00:00 2001 From: Finn Williams Date: Thu, 8 Jul 2021 13:07:19 +0100 Subject: IVGCVSW-6062 update ArmnnPreparedModels to have a single static instance of the threadpool Signed-off-by: Finn Williams Change-Id: Ie350a11eab5d677dd6a5571ea4094aa51b23c501 --- ArmnnPreparedModel_1_3.hpp | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'ArmnnPreparedModel_1_3.hpp') 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 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 m_RequestThread; - uint32_t m_RequestCount; - const std::string& m_RequestInputsAndOutputsDumpDir; - const bool m_GpuProfilingEnabled; - V1_3::Priority m_ModelPriority; - - std::shared_ptr m_WorkingMemHandle; - const bool m_AsyncModelExecutionEnabled; + static RequestThread_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 m_Threadpool; + std::shared_ptr m_WorkingMemHandle; + const bool m_AsyncModelExecutionEnabled; }; } -- cgit v1.2.1