• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include <armnn/BackendId.hpp>
7 #include "Holder.hpp"
8 
9 namespace armnn
10 {
11 
12 namespace profiling
13 {
14 
operator =(const CaptureData & other)15 CaptureData& CaptureData::operator=(const CaptureData& other)
16 {
17     m_CapturePeriod  = other.m_CapturePeriod;
18     m_CounterIds     = other.m_CounterIds;
19     m_ActiveBackends = other.m_ActiveBackends;
20 
21     return *this;
22 }
23 
SetActiveBackends(const std::set<armnn::BackendId> & activeBackends)24 void CaptureData::SetActiveBackends(const std::set<armnn::BackendId>& activeBackends)
25 {
26     m_ActiveBackends = activeBackends;
27 }
28 
SetCapturePeriod(uint32_t capturePeriod)29 void CaptureData::SetCapturePeriod(uint32_t capturePeriod)
30 {
31     m_CapturePeriod = capturePeriod;
32 }
33 
SetCounterIds(const std::vector<uint16_t> & counterIds)34 void CaptureData::SetCounterIds(const std::vector<uint16_t>& counterIds)
35 {
36     m_CounterIds = counterIds;
37 }
38 
GetActiveBackends() const39 const std::set<armnn::BackendId>& CaptureData::GetActiveBackends() const
40 {
41     return m_ActiveBackends;
42 }
43 
GetCapturePeriod() const44 uint32_t CaptureData::GetCapturePeriod() const
45 {
46     return m_CapturePeriod;
47 }
48 
GetCounterIds() const49 const std::vector<uint16_t>& CaptureData::GetCounterIds() const
50 {
51     return m_CounterIds;
52 }
53 
GetCaptureData() const54 CaptureData Holder::GetCaptureData() const
55 {
56     std::lock_guard<std::mutex> lockGuard(m_CaptureThreadMutex);
57 
58     return m_CaptureData;
59 }
60 
IsCounterIdInCaptureData(uint16_t counterId)61 bool CaptureData::IsCounterIdInCaptureData(uint16_t counterId)
62 {
63     for (auto m_CounterId : m_CounterIds) {
64         if (m_CounterId == counterId)
65         {
66             return true;
67         }
68     }
69 
70     // Return false by default unless counterId is found
71     return false;
72 }
73 
SetCaptureData(uint32_t capturePeriod,const std::vector<uint16_t> & counterIds,const std::set<armnn::BackendId> & activeBackends)74 void Holder::SetCaptureData(uint32_t capturePeriod,
75                             const std::vector<uint16_t>& counterIds,
76                             const std::set<armnn::BackendId>& activeBackends)
77 {
78     std::lock_guard<std::mutex> lockGuard(m_CaptureThreadMutex);
79 
80     m_CaptureData.SetCapturePeriod(capturePeriod);
81     m_CaptureData.SetCounterIds(counterIds);
82     m_CaptureData.SetActiveBackends(activeBackends);
83 
84 }
85 
86 } // namespace profiling
87 
88 } // namespace armnn
89