diff options
Diffstat (limited to 'src/profiling/CounterIdMap.hpp')
-rw-r--r-- | src/profiling/CounterIdMap.hpp | 31 |
1 files changed, 26 insertions, 5 deletions
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<uint16_t, armnn::BackendId>& 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<uint16_t, armnn::BackendId>& 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<uint16_t, armnn::BackendId>& GetBackendId(uint16_t globalCounterId) const override; private: std::map<uint16_t, std::pair<uint16_t, armnn::BackendId>> m_GlobalCounterIdMap; std::map<std::pair<uint16_t, armnn::BackendId>, uint16_t> m_BackendCounterIdMap; }; } // namespace profiling -} // namespace armnn
\ No newline at end of file +} // namespace armnn |