IVGCVSW-4338 Implement the Activation of Counters in backends
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I4a2465f06e046f78242ff0a246c651638b205498
diff --git a/src/profiling/Holder.hpp b/src/profiling/Holder.hpp
index 9785b98..8a89cda 100644
--- a/src/profiling/Holder.hpp
+++ b/src/profiling/Holder.hpp
@@ -7,6 +7,8 @@
#include <mutex>
#include <vector>
+#include <set>
+#include "ProfilingUtils.hpp"
namespace armnn
{
@@ -19,25 +21,31 @@
public:
CaptureData()
: m_CapturePeriod(0)
- , m_CounterIds() {}
- CaptureData(uint32_t capturePeriod, std::vector<uint16_t>& counterIds)
+ , m_CounterIds()
+ , m_ActiveBackends(){}
+ CaptureData(uint32_t capturePeriod, std::vector<uint16_t>& counterIds, std::set<armnn::BackendId> activeBackends)
: m_CapturePeriod(capturePeriod)
- , m_CounterIds(counterIds) {}
+ , m_CounterIds(counterIds)
+ , m_ActiveBackends(activeBackends){}
CaptureData(const CaptureData& captureData)
: m_CapturePeriod(captureData.m_CapturePeriod)
- , m_CounterIds(captureData.m_CounterIds) {}
+ , m_CounterIds(captureData.m_CounterIds)
+ , m_ActiveBackends(captureData.m_ActiveBackends){}
CaptureData& operator=(const CaptureData& other);
+ void SetActiveBackends(const std::set<armnn::BackendId>& activeBackends);
void SetCapturePeriod(uint32_t capturePeriod);
void SetCounterIds(const std::vector<uint16_t>& counterIds);
uint32_t GetCapturePeriod() const;
const std::vector<uint16_t>& GetCounterIds() const;
+ const std::set<armnn::BackendId>& GetActiveBackends() const;
bool IsCounterIdInCaptureData(uint16_t counterId);
private:
uint32_t m_CapturePeriod;
std::vector<uint16_t> m_CounterIds;
+ std::set<armnn::BackendId> m_ActiveBackends;
};
class Holder
@@ -46,7 +54,9 @@
Holder()
: m_CaptureData() {}
CaptureData GetCaptureData() const;
- void SetCaptureData(uint32_t capturePeriod, const std::vector<uint16_t>& counterIds);
+ void SetCaptureData(uint32_t capturePeriod,
+ const std::vector<uint16_t>& counterIds,
+ const std::set<armnn::BackendId>& activeBackends);
private:
mutable std::mutex m_CaptureThreadMutex;