From 8e0c7a66efc8d61787c43cdaeab3754e2905f623 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Thu, 30 Jan 2020 14:10:55 +0000 Subject: IVGCVSW-4394 Add CounterIdMap to Profiling Service Change-Id: I416397a7855fe45319b4801252e141b78f0325f0 Signed-off-by: Jim Flynn --- src/profiling/CounterIdMap.hpp | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) (limited to 'src/profiling/CounterIdMap.hpp') diff --git a/src/profiling/CounterIdMap.hpp b/src/profiling/CounterIdMap.hpp index e401491c10..cb6b9c92e8 100644 --- a/src/profiling/CounterIdMap.hpp +++ b/src/profiling/CounterIdMap.hpp @@ -12,17 +12,38 @@ namespace armnn namespace profiling { -class CounterIdMap +class ICounterMappings +{ +public: + virtual uint16_t GetGlobalId(uint16_t backendCounterId, const armnn::BackendId& backendId) const = 0; + virtual const std::pair& GetBackendId(uint16_t globalCounterId) const = 0; + virtual ~ICounterMappings() {} +}; + +class IRegisterCounterMapping +{ +public: + virtual void RegisterMapping(uint16_t globalCounterId, + uint16_t backendCounterId, + const armnn::BackendId& backendId) = 0; + virtual ~IRegisterCounterMapping() {} +}; + +class CounterIdMap : public ICounterMappings, public IRegisterCounterMapping { public: - void RegisterMapping(uint16_t globalCounterId, uint16_t backendCounterId, const armnn::BackendId& backendId); - uint16_t GetGlobalId(uint16_t backendCounterId, const armnn::BackendId& backendId); - const std::pair& GetBackendId(uint16_t globalCounterId); + CounterIdMap() = default; + virtual ~CounterIdMap() {} + void RegisterMapping(uint16_t globalCounterId, + uint16_t backendCounterId, + const armnn::BackendId& backendId) override; + uint16_t GetGlobalId(uint16_t backendCounterId, const armnn::BackendId& backendId) const override; + const std::pair& GetBackendId(uint16_t globalCounterId) const override; private: std::map> m_GlobalCounterIdMap; std::map, uint16_t> m_BackendCounterIdMap; }; } // namespace profiling -} // namespace armnn \ No newline at end of file +} // namespace armnn -- cgit v1.2.1