15 #include <boost/test/test_tools.hpp> 16 #include <boost/test/unit_test_suite.hpp> 20 using namespace armnn;
21 using namespace timelinedecoder;
27 unsigned int offset = 0;
34 uint32_t PacketDataLength = header[1] & 0x00FFFFFF;
36 auto uniquePacketData = std::make_unique<unsigned char[]>(PacketDataLength);
37 std::memcpy(uniquePacketData.get(), packetBuffer + offset, PacketDataLength);
39 armnn::profiling::Packet packet(header[0], PacketDataLength, uniquePacketData);
41 BOOST_CHECK(std::memcmp(packetBuffer + offset, packet.GetData(), packet.GetLength()) == 0);
43 CommandHandler(packet);
73 uint32_t uint8_t_size =
sizeof(uint8_t);
75 uint32_t uint64_t_size =
sizeof(uint64_t);
80 std::unique_ptr<profiling::ISendTimelinePacket> sendTimelinePacket =
91 timelineCaptureCommandHandler,
true);
93 sendTimelinePacket->SendTimelineMessageDirectoryPackage();
94 sendTimelinePacket->Commit();
96 std::vector<profiling::SwTraceMessage> swTraceBufferMessages;
98 unsigned int offset = uint32_t_size * 2;
100 std::unique_ptr<profiling::IPacketBuffer> packetBuffer = bufferManager.
GetReadableBuffer();
102 uint8_t readStreamVersion =
ReadUint8(packetBuffer, offset);
104 offset += uint8_t_size;
105 uint8_t readPointerBytes =
ReadUint8(packetBuffer, offset);
107 offset += uint8_t_size;
108 uint8_t readThreadIdBytes =
ReadUint8(packetBuffer, offset);
110 offset += uint8_t_size;
114 for(uint32_t i = 0; i < declarationSize; ++i)
121 for(uint32_t index = 0; index < declarationSize; ++index)
131 for(uint32_t i = 0; i < bufferMessage.
m_ArgTypes.size(); ++i)
137 for(uint32_t i = 0; i < bufferMessage.
m_ArgNames.size(); ++i)
149 std::unique_ptr<profiling::ISendTimelinePacket> sendTimelinePacket =
169 const uint64_t entityGuid = 111111u;
170 const uint64_t eventClassGuid = 22222u;
171 const uint64_t timestamp = 33333u;
172 const uint64_t eventGuid = 44444u;
174 const std::thread::id threadId = std::this_thread::get_id();
178 uint64_t uint64ThreadId;
190 delete[] uCharThreadId;
192 const uint64_t labelGuid = 66666u;
193 std::string labelName =
"test_label";
195 const uint64_t relationshipGuid = 77777u;
196 const uint64_t headGuid = 888888u;
197 const uint64_t tailGuid = 999999u;
199 for (
int i = 0; i < 10; ++i)
202 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityGuid);
203 sendTimelinePacket->Commit();
205 timelineCaptureCommandHandler);
208 sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassGuid);
209 sendTimelinePacket->Commit();
211 timelineCaptureCommandHandler);
214 sendTimelinePacket->SendTimelineEventBinaryPacket(timestamp, threadId, eventGuid);
215 sendTimelinePacket->Commit();
217 timelineCaptureCommandHandler);
220 sendTimelinePacket->SendTimelineLabelBinaryPacket(labelGuid, labelName);
221 sendTimelinePacket->Commit();
223 timelineCaptureCommandHandler);
227 sendTimelinePacket->SendTimelineRelationshipBinaryPacket(relationshipType,
231 sendTimelinePacket->Commit();
233 timelineCaptureCommandHandler);
236 for (
unsigned long i = 0; i < 10; ++i)
261 std::unique_ptr<profiling::ISendTimelinePacket> sendTimelinePacket =
280 const uint64_t entityGuid = 111111u;
281 const uint64_t eventClassGuid = 22222u;
282 const uint64_t timestamp = 33333u;
283 const uint64_t eventGuid = 44444u;
285 const std::thread::id threadId = std::this_thread::get_id();
289 uint64_t uint64ThreadId;
301 delete[] uCharThreadId;
303 const uint64_t labelGuid = 66666u;
304 std::string labelName =
"test_label";
305 std::string labelName2 =
"test_label2";
306 std::string labelName3 =
"test_label32";
308 const uint64_t relationshipGuid = 77777u;
309 const uint64_t headGuid = 888888u;
310 const uint64_t tailGuid = 999999u;
313 for (
int i = 0; i < 9; ++i )
316 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityGuid);
318 sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassGuid);
320 sendTimelinePacket->SendTimelineEventBinaryPacket(timestamp, threadId, eventGuid);
322 sendTimelinePacket->SendTimelineLabelBinaryPacket(labelGuid, labelName);
323 sendTimelinePacket->SendTimelineLabelBinaryPacket(labelGuid, labelName2);
324 sendTimelinePacket->SendTimelineLabelBinaryPacket(labelGuid, labelName3);
327 sendTimelinePacket->SendTimelineRelationshipBinaryPacket(relationshipType,
333 sendTimelinePacket->Commit();
335 timelineCaptureCommandHandler);
337 for (
unsigned long i = 0; i < 9; ++i )
354 for (
unsigned long i = 0; i < 9; i += 3 )
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
uint32_t GetEncodedValue()
void SendTimelinePacketToCommandHandler(const unsigned char *packetBuffer, profiling::CommandHandlerFunctor &CommandHandler)
Head execution start depends on Tail execution completion.
TimelineStatus SetRelationshipCallback(const OnNewRelationshipCallback)
std::vector< Label > m_Labels
std::vector< Entity > m_Entities
void PushEventClass(TimelineDecoder::Model &model, const ITimelineDecoder::EventClass eventClass)
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
Version ResolvePacketVersion(uint32_t familyId, uint32_t packetId) const
uint8_t ReadUint8(const IPacketBufferPtr &packetBuffer, unsigned int offset)
Copyright (c) 2020 ARM Limited.
Head execution start depends on Tail execution completion.
BOOST_CHECK(profilingService.GetCurrentState()==ProfilingState::WaitingForAck)
SwTraceMessage ReadSwTraceMessage(const unsigned char *packetBuffer, unsigned int &offset)
std::vector< std::string > m_ArgNames
std::vector< char > m_ArgTypes
void WriteBytes(const IPacketBufferPtr &packetBuffer, unsigned int offset, const void *value, unsigned int valueSize)
void PushRelationship(TimelineDecoder::Model &model, const ITimelineDecoder::Relationship relationship)
void PushEntity(TimelineDecoder::Model &model, const ITimelineDecoder::Entity entity)
TimelineStatus SetEventClassCallback(const OnNewEventClassCallback)
std::vector< Relationship > m_Relationships
ProfilingRelationshipType
BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)
IPacketBufferPtr GetReadableBuffer() override
constexpr unsigned int ThreadIdSize
void PushEvent(TimelineDecoder::Model &model, const ITimelineDecoder::Event event)
uint32_t ReadUint32(const IPacketBufferPtr &packetBuffer, unsigned int offset)
std::vector< EventClass > m_EventClasses
void PushLabel(TimelineDecoder::Model &model, const ITimelineDecoder::Label label)
BOOST_AUTO_TEST_SUITE_END()
TimelineStatus SetLabelCallback(const OnNewLabelCallback)
std::unique_ptr< ISendTimelinePacket > GetSendTimelinePacket() const
std::vector< Event > m_Events
TimelineStatus SetEntityCallback(const OnNewEntityCallback)
TimelineStatus SetEventCallback(const OnNewEventCallback)