ArmNN
 20.02
Holder.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <mutex>
9 #include <vector>
10 #include <set>
11 #include "ProfilingUtils.hpp"
12 
13 namespace armnn
14 {
15 
16 namespace profiling
17 {
18 
20 {
21 public:
23  : m_CapturePeriod(0)
24  , m_CounterIds()
25  , m_ActiveBackends(){}
26  CaptureData(uint32_t capturePeriod, std::vector<uint16_t>& counterIds, std::set<armnn::BackendId> activeBackends)
27  : m_CapturePeriod(capturePeriod)
28  , m_CounterIds(counterIds)
29  , m_ActiveBackends(activeBackends){}
30  CaptureData(const CaptureData& captureData)
31  : m_CapturePeriod(captureData.m_CapturePeriod)
32  , m_CounterIds(captureData.m_CounterIds)
33  , m_ActiveBackends(captureData.m_ActiveBackends){}
34 
35  CaptureData& operator=(const CaptureData& other);
36 
37  void SetActiveBackends(const std::set<armnn::BackendId>& activeBackends);
38  void SetCapturePeriod(uint32_t capturePeriod);
39  void SetCounterIds(const std::vector<uint16_t>& counterIds);
40  uint32_t GetCapturePeriod() const;
41  const std::vector<uint16_t>& GetCounterIds() const;
42  const std::set<armnn::BackendId>& GetActiveBackends() const;
43  bool IsCounterIdInCaptureData(uint16_t counterId);
44 
45 private:
46  uint32_t m_CapturePeriod;
47  std::vector<uint16_t> m_CounterIds;
48  std::set<armnn::BackendId> m_ActiveBackends;
49 };
50 
51 class Holder
52 {
53 public:
55  : m_CaptureData() {}
56  CaptureData GetCaptureData() const;
57  void SetCaptureData(uint32_t capturePeriod,
58  const std::vector<uint16_t>& counterIds,
59  const std::set<armnn::BackendId>& activeBackends);
60 
61 private:
62  mutable std::mutex m_CaptureThreadMutex;
63  CaptureData m_CaptureData;
64 };
65 
66 } // namespace profiling
67 
68 } // namespace armnn
void SetActiveBackends(const std::set< armnn::BackendId > &activeBackends)
Definition: Holder.cpp:24
const std::set< armnn::BackendId > & GetActiveBackends() const
Definition: Holder.cpp:39
const std::vector< uint16_t > & GetCounterIds() const
Definition: Holder.cpp:49
Copyright (c) 2020 ARM Limited.
void SetCapturePeriod(uint32_t capturePeriod)
Definition: Holder.cpp:29
uint32_t GetCapturePeriod() const
Definition: Holder.cpp:44
CaptureData(const CaptureData &captureData)
Definition: Holder.hpp:30
CaptureData(uint32_t capturePeriod, std::vector< uint16_t > &counterIds, std::set< armnn::BackendId > activeBackends)
Definition: Holder.hpp:26
bool IsCounterIdInCaptureData(uint16_t counterId)
Definition: Holder.cpp:61
void SetCounterIds(const std::vector< uint16_t > &counterIds)
Definition: Holder.cpp:34
CaptureData & operator=(const CaptureData &other)
Definition: Holder.cpp:15