aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/CounterIdMap.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/profiling/CounterIdMap.hpp')
-rw-r--r--src/profiling/CounterIdMap.hpp31
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