From fd627ffaec8fd8801d980b4c91ee7c0607ab6aaf Mon Sep 17 00:00:00 2001 From: Jan Eilers Date: Thu, 25 Feb 2021 17:44:00 +0000 Subject: IVGCVSW-5687 Update Doxygen Docu * Update Doxygen Documentation for 21.02 release Signed-off-by: Jan Eilers Change-Id: I9ed2f9caab038836ea99d7b378d7899fe431a4e5 --- ..._test_timeline_packet_handler_8hpp_source.xhtml | 137 +++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 21.02/_test_timeline_packet_handler_8hpp_source.xhtml (limited to '21.02/_test_timeline_packet_handler_8hpp_source.xhtml') diff --git a/21.02/_test_timeline_packet_handler_8hpp_source.xhtml b/21.02/_test_timeline_packet_handler_8hpp_source.xhtml new file mode 100644 index 0000000000..358f6bc740 --- /dev/null +++ b/21.02/_test_timeline_packet_handler_8hpp_source.xhtml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + +ArmNN: src/profiling/test/TestTimelinePacketHandler.hpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  21.02 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
TestTimelinePacketHandler.hpp
+
+
+Go to the documentation of this file.
1 //
2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
9 #include <server/include/timelineDecoder/ITimelineDecoder.hpp>
10 
11 #include "ProfilingUtils.hpp"
12 #include <server/include/timelineDecoder/TimelineCaptureCommandHandler.hpp>
13 #include <server/include/timelineDecoder/TimelineDirectoryCaptureCommandHandler.hpp>
14 #include "TimelineModel.hpp"
15 
16 #include <common/include/Packet.hpp>
17 
18 #include <condition_variable>
19 #include <map>
20 #include <mutex>
21 #include <vector>
22 
23 namespace armnn
24 {
25 
26 namespace profiling
27 {
28 
29 // forward declaration of class
30 class TestTimelinePacketHandler;
31 class TimelineMessageDecoder : public arm::pipe::ITimelineDecoder
32 {
33 public:
34  TimelineMessageDecoder(TimelineModel& model) : m_PacketHandler(nullptr), m_TimelineModel(model) {}
35  virtual TimelineStatus CreateEntity(const Entity&) override;
36  virtual TimelineStatus CreateEventClass(const EventClass&) override;
37  virtual TimelineStatus CreateEvent(const Event&) override;
38  virtual TimelineStatus CreateLabel(const Label&) override;
39  virtual TimelineStatus CreateRelationship(const Relationship&) override;
40  void SetPacketHandler(TestTimelinePacketHandler* packetHandler) {m_PacketHandler = packetHandler;};
41 private:
42  TestTimelinePacketHandler* m_PacketHandler;
43  TimelineModel& m_TimelineModel;
44 };
45 
47 {
48 public:
50  m_Connection(nullptr),
51  m_InferenceCompleted(false),
52  m_DirectoryHeader(CreateTimelinePacketHeader(1, 0, 0, 0, 0, 0).first),
53  m_MessageHeader(CreateTimelinePacketHeader(1, 0, 1, 0, 0, 0).first),
54  m_MessageDecoder(m_TimelineModel),
55  m_Decoder(1, 1, 0, m_MessageDecoder),
56  m_DirectoryDecoder(1, 0, 0, m_Decoder, true)
57  { m_MessageDecoder.SetPacketHandler(this); }
58 
59  virtual std::vector<uint32_t> GetHeadersAccepted() override; // ILocalPacketHandler
60 
61  virtual void HandlePacket(const arm::pipe::Packet& packet) override; // ILocalPacketHandler
62 
63  void Stop();
64 
65  void WaitOnInferenceCompletion(unsigned int timeout);
66  void SetInferenceComplete();
67 
68  const TimelineModel& GetTimelineModel() const {return m_TimelineModel;}
69 
70  virtual void SetConnection(IInternalProfilingConnection* profilingConnection) override // ILocalPacketHandler
71  {
72  m_Connection = profilingConnection;
73  }
74 
75 private:
76  void ProcessDirectoryPacket(const arm::pipe::Packet& packet);
77  void ProcessMessagePacket(const arm::pipe::Packet& packet);
78  IInternalProfilingConnection* m_Connection;
79  std::mutex m_InferenceCompletedMutex;
80  std::condition_variable m_InferenceCompletedConditionVariable;
81  bool m_InferenceCompleted;
82  TimelineModel m_TimelineModel;
83  uint32_t m_DirectoryHeader;
84  uint32_t m_MessageHeader;
85  TimelineMessageDecoder m_MessageDecoder;
86  arm::pipe::TimelineCaptureCommandHandler m_Decoder;
87  arm::pipe::TimelineDirectoryCaptureCommandHandler m_DirectoryDecoder;
88 };
89 
90 } // namespace profiling
91 
92 } // namespace armnn
Event class records measurements reported by BeginEvent()/EndEvent() and returns measurements when Ev...
+ +
DataLayout::NCHW false
+ +
std::pair< uint32_t, uint32_t > CreateTimelinePacketHeader(uint32_t packetFamily, uint32_t packetClass, uint32_t packetType, uint32_t streamId, uint32_t sequenceNumbered, uint32_t dataLength)
Creates a timeline packet header.
+ +
Copyright (c) 2021 ARM Limited and Contributors.
+ + +
virtual void SetConnection(IInternalProfilingConnection *profilingConnection) override
Set a profiling connection on the handler.
+ +
virtual TimelineStatus CreateLabel(const Label &) override
+
virtual TimelineStatus CreateEventClass(const EventClass &) override
+
virtual TimelineStatus CreateEvent(const Event &) override
+ + +
virtual TimelineStatus CreateRelationship(const Relationship &) override
+ + + +
DataLayout::NCHW DataLayout::NCHW DataLayout::NHWC DataLayout::NHWC true
+
virtual TimelineStatus CreateEntity(const Entity &) override
+ +
void SetPacketHandler(TestTimelinePacketHandler *packetHandler)
+
+
+ + + + -- cgit v1.2.1