aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/Runtime.hpp
diff options
context:
space:
mode:
authorKeith Davis <keith.davis@arm.com>2020-03-30 10:43:41 +0100
committerFinn Williams <Finn.Williams@arm.com>2020-04-02 16:56:24 +0100
commit33ed221e2e8e3a77b5f543061e0cce07b259fc64 (patch)
tree8467f2e4ce019bfa2837ae1030c321509414780c /src/armnn/Runtime.hpp
parent0fe279bbf22fd2116b283b9df61076d526f115e4 (diff)
downloadarmnn-33ed221e2e8e3a77b5f543061e0cce07b259fc64.tar.gz
IVGCVSW-4455 Add an Activate and Deactivate control packet to the protocol
* Add Activate/Deactivate command handlers * Add IReportStructure, INotifyBackends single function interfaces * Add overrided mechanism to report structure in Runtime.cpp * Add overrided mechanism to notify backends in ProfilingService.cpp * Add optional IReportStructure argument to ProfilingService constructor for use in ActivateTimelineReportingCommandHandler * Refactoring and tidying up indentation * Removal of unused code in ProfilingUtils.cpp and ProfilingService.cpp * Added GatordMock end to end test * Fixed an issue with SendCounterPacket sending duplicate packets * Fixed an issue with DirectoryCaptureCommandHandler handling of Optional Signed-off-by: Keith Davis <keith.davis@arm.com> Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I5ef1b74171459bfc649861dedf99921d22c9e63f
Diffstat (limited to 'src/armnn/Runtime.hpp')
-rw-r--r--src/armnn/Runtime.hpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/armnn/Runtime.hpp b/src/armnn/Runtime.hpp
index 477b1169b1..d4b6dcbd63 100644
--- a/src/armnn/Runtime.hpp
+++ b/src/armnn/Runtime.hpp
@@ -16,13 +16,19 @@
#include <ProfilingService.hpp>
+#include <IProfilingService.hpp>
+#include <IReportStructure.hpp>
+
#include <mutex>
#include <unordered_map>
namespace armnn
{
+using LoadedNetworks = std::unordered_map<NetworkId, std::unique_ptr<LoadedNetwork>>;
+using IReportStructure = profiling::IReportStructure;
-class Runtime final : public IRuntime
+class Runtime final : public IRuntime,
+ public IReportStructure
{
public:
/// Loads a complete network into the Runtime.
@@ -79,6 +85,10 @@ public:
~Runtime();
+ //NOTE: we won't need the profiling service reference but it is good to pass the service
+ // in this way to facilitate other implementations down the road
+ virtual void ReportStructure() override;
+
private:
friend void RuntimeLoadedNetworksReserve(armnn::Runtime* runtime); // See RuntimeTests.cpp
@@ -104,7 +114,9 @@ private:
mutable std::mutex m_Mutex;
- std::unordered_map<NetworkId, std::unique_ptr<LoadedNetwork>> m_LoadedNetworks;
+ /// Map of Loaded Networks with associated GUID as key
+ LoadedNetworks m_LoadedNetworks;
+
std::unordered_map<BackendId, IBackendInternal::IBackendContextPtr> m_BackendContexts;
int m_NetworkIdCounter;