aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/ProfilingService.hpp
diff options
context:
space:
mode:
authorColm Donelan <Colm.Donelan@arm.com>2020-02-05 17:48:59 +0000
committerColm Donelan <colm.donelan@arm.com>2020-02-07 09:28:35 +0000
commit1aff393b359b518925f66901439466f9bc14c49d (patch)
tree9d31aa1d3dabb4b637093f6fd1a9f1549621c653 /src/profiling/ProfilingService.hpp
parent3446057492907d0c7695605a5b9a961a78158d7e (diff)
downloadarmnn-1aff393b359b518925f66901439466f9bc14c49d.tar.gz
IVGCVSW-4317 Implement the Profiling Context Initialisation
* Call CreateBackendProfilingContext on each backend from Runtime passing an instance of the BackendProfiling interface. * Modify the signature of CreateBackendProfilingContext to remove const and return a shared_ptr to BackendProfilingContext * Add concrete BackendProfiling class. * Store BackendProfilingContexts in Profiling service. Signed-off-by: Colm Donelan <Colm.Donelan@arm.com> Change-Id: I975eaa2093ae91fa623835f65f9e5b25eb65117a
Diffstat (limited to 'src/profiling/ProfilingService.hpp')
-rw-r--r--src/profiling/ProfilingService.hpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/profiling/ProfilingService.hpp b/src/profiling/ProfilingService.hpp
index e510589caa..4438952853 100644
--- a/src/profiling/ProfilingService.hpp
+++ b/src/profiling/ProfilingService.hpp
@@ -22,6 +22,7 @@
#include "SendCounterPacket.hpp"
#include "SendTimelinePacket.hpp"
#include "TimelinePacketWriterFactory.hpp"
+#include <armnn/backends/profiling/IBackendProfilingContext.hpp>
namespace armnn
{
@@ -63,6 +64,13 @@ public:
// Disconnects the profiling service from the external server
void Disconnect();
+ // Store a profiling context returned from a backend that support profiling.
+ void AddBackendProfilingContext(const BackendId backendId,
+ std::shared_ptr<armnn::profiling::IBackendProfilingContext> profilingContext)
+ {
+ m_BackendProfilingContexts.emplace(backendId, std::move(profilingContext));
+ }
+
const ICounterDirectory& GetCounterDirectory() const;
ICounterRegistry& GetCounterRegistry();
ProfilingState GetCurrentState() const;
@@ -132,6 +140,8 @@ private:
PerJobCounterSelectionCommandHandler m_PerJobCounterSelectionCommandHandler;
ProfilingGuidGenerator m_GuidGenerator;
TimelinePacketWriterFactory m_TimelinePacketWriterFactory;
+ std::unordered_map<BackendId,
+ std::shared_ptr<armnn::profiling::IBackendProfilingContext>> m_BackendProfilingContexts;
protected:
// Default constructor/destructor kept protected for testing