diff options
author | Keith Davis <keith.davis@arm.com> | 2020-03-30 10:43:41 +0100 |
---|---|---|
committer | Finn Williams <Finn.Williams@arm.com> | 2020-04-02 16:56:24 +0100 |
commit | 33ed221e2e8e3a77b5f543061e0cce07b259fc64 (patch) | |
tree | 8467f2e4ce019bfa2837ae1030c321509414780c /src/armnn/Runtime.hpp | |
parent | 0fe279bbf22fd2116b283b9df61076d526f115e4 (diff) | |
download | armnn-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.hpp | 16 |
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; |