diff options
author | Finn Williams <Finn.Williams@arm.com> | 2020-02-12 11:02:34 +0000 |
---|---|---|
committer | Finn Williams <Finn.Williams@arm.com> | 2020-02-14 10:20:00 +0000 |
commit | 032bc74ca4bc6589a33f23db31accddc5b20baaa (patch) | |
tree | 07ae871bc1d667105c7a4b5da2b670b977d5abcb /src/profiling/PeriodicCounterCapture.hpp | |
parent | c1536d69c1468514425e143b0578656f51598b94 (diff) | |
download | armnn-032bc74ca4bc6589a33f23db31accddc5b20baaa.tar.gz |
IVGCVSW-4338 Implement the Activation of Counters in backends
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I4a2465f06e046f78242ff0a246c651638b205498
Diffstat (limited to 'src/profiling/PeriodicCounterCapture.hpp')
-rw-r--r-- | src/profiling/PeriodicCounterCapture.hpp | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/src/profiling/PeriodicCounterCapture.hpp b/src/profiling/PeriodicCounterCapture.hpp index 9229a49d85..ff0562377c 100644 --- a/src/profiling/PeriodicCounterCapture.hpp +++ b/src/profiling/PeriodicCounterCapture.hpp @@ -10,10 +10,12 @@ #include "Packet.hpp" #include "SendCounterPacket.hpp" #include "ICounterValues.hpp" +#include "CounterIdMap.hpp" #include <atomic> #include <mutex> #include <thread> +#include <armnn/backends/profiling/IBackendProfilingContext.hpp> namespace armnn { @@ -24,12 +26,20 @@ namespace profiling class PeriodicCounterCapture final : public IPeriodicCounterCapture { public: - PeriodicCounterCapture(const Holder& data, ISendCounterPacket& packet, const IReadCounterValues& readCounterValue) - : m_CaptureDataHolder(data) - , m_IsRunning(false) - , m_KeepRunning(false) - , m_ReadCounterValues(readCounterValue) - , m_SendCounterPacket(packet) + PeriodicCounterCapture(const Holder& data, + ISendCounterPacket& packet, + const IReadCounterValues& readCounterValue, + const ICounterMappings& counterIdMap, + const std::unordered_map<armnn::BackendId, + std::shared_ptr<armnn::profiling::IBackendProfilingContext>>& + backendProfilingContexts) + : m_CaptureDataHolder(data) + , m_IsRunning(false) + , m_KeepRunning(false) + , m_ReadCounterValues(readCounterValue) + , m_SendCounterPacket(packet) + , m_CounterIdMap(counterIdMap) + , m_BackendProfilingContext(backendProfilingContexts) {} ~PeriodicCounterCapture() { Stop(); } @@ -40,6 +50,8 @@ public: private: CaptureData ReadCaptureData(); void Capture(const IReadCounterValues& readCounterValues); + void DispatchPeriodicCounterCapturePacket( + const armnn::BackendId& backendId, const std::vector<Timestamp>& timestampValues); const Holder& m_CaptureDataHolder; bool m_IsRunning; @@ -47,6 +59,9 @@ private: std::thread m_PeriodCaptureThread; const IReadCounterValues& m_ReadCounterValues; ISendCounterPacket& m_SendCounterPacket; + const ICounterMappings& m_CounterIdMap; + const std::unordered_map<armnn::BackendId, + std::shared_ptr<armnn::profiling::IBackendProfilingContext>>& m_BackendProfilingContext; }; } // namespace profiling |