aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/Runtime.hpp
diff options
context:
space:
mode:
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;