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)15CaptureData& 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)24void CaptureData::SetActiveBackends(const std::set<armnn::BackendId>& activeBackends) 25 { 26 m_ActiveBackends = activeBackends; 27 } 28 SetCapturePeriod(uint32_t capturePeriod)29void CaptureData::SetCapturePeriod(uint32_t capturePeriod) 30 { 31 m_CapturePeriod = capturePeriod; 32 } 33 SetCounterIds(const std::vector<uint16_t> & counterIds)34void CaptureData::SetCounterIds(const std::vector<uint16_t>& counterIds) 35 { 36 m_CounterIds = counterIds; 37 } 38 GetActiveBackends() const39const std::set<armnn::BackendId>& CaptureData::GetActiveBackends() const 40 { 41 return m_ActiveBackends; 42 } 43 GetCapturePeriod() const44uint32_t CaptureData::GetCapturePeriod() const 45 { 46 return m_CapturePeriod; 47 } 48 GetCounterIds() const49const std::vector<uint16_t>& CaptureData::GetCounterIds() const 50 { 51 return m_CounterIds; 52 } 53 GetCaptureData() const54CaptureData Holder::GetCaptureData() const 55 { 56 std::lock_guard<std::mutex> lockGuard(m_CaptureThreadMutex); 57 58 return m_CaptureData; 59 } 60 IsCounterIdInCaptureData(uint16_t counterId)61bool 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)74void 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