19 #include <common/include/CommandHandlerFunctor.hpp> 20 #include <common/include/Packet.hpp> 39 std::shared_ptr<armnn::profiling::IBackendProfilingContext>>&
40 backendProfilingContexts,
43 const uint16_t maxArmnnCounterId,
48 : CommandHandlerFunctor(familyId, packetId, version)
49 , m_BackendProfilingContexts(backendProfilingContexts)
50 , m_CounterIdMap(counterIdMap)
51 , m_CaptureDataHolder(captureDataHolder)
52 , m_MaxArmCounterId(maxArmnnCounterId)
53 , m_PeriodicCounterCapture(periodicCounterCapture)
54 , m_PrevCapturePeriod(0)
55 , m_ReadCounterValues(readCounterValue)
56 , m_SendCounterPacket(sendCounterPacket)
57 , m_StateMachine(profilingStateMachine)
63 void operator()(
const arm::pipe::Packet& packet)
override;
67 std::unordered_map<armnn::BackendId, std::vector<uint16_t>> m_BackendCounterMap;
69 std::shared_ptr<armnn::profiling::IBackendProfilingContext>>& m_BackendProfilingContexts;
71 Holder& m_CaptureDataHolder;
72 const uint16_t m_MaxArmCounterId;
74 uint32_t m_PrevCapturePeriod;
75 std::set<uint16_t> m_PrevBackendCounterIds;
81 const uint32_t capturePeriod,
82 const std::vector<uint16_t> counterIds)
85 m_BackendProfilingContexts.at(backendId)->ActivateCounters(capturePeriod, counterIds);
89 ARMNN_LOG(
warning) <<
"An error has occurred when activating counters of " << backendId <<
": " 93 void ParseData(
const arm::pipe::Packet& packet,
CaptureData& captureData);
94 std::set<armnn::BackendId> ProcessBackendCounterIds(
const uint32_t capturePeriod,
95 const std::set<uint16_t> newCounterIds,
96 const std::set<uint16_t> unusedCounterIds);
#define ARMNN_LOG(severity)
Copyright (c) 2021 ARM Limited and Contributors.
bool has_value() const noexcept
PeriodicCounterSelectionCommandHandler(uint32_t familyId, uint32_t packetId, uint32_t version, const std::unordered_map< BackendId, std::shared_ptr< armnn::profiling::IBackendProfilingContext >> &backendProfilingContexts, const ICounterMappings &counterIdMap, Holder &captureDataHolder, const uint16_t maxArmnnCounterId, IPeriodicCounterCapture &periodicCounterCapture, const IReadCounterValues &readCounterValue, ISendCounterPacket &sendCounterPacket, const ProfilingStateMachine &profilingStateMachine)
void operator()(const arm::pipe::Packet &packet) override