14 #include <boost/test/unit_test.hpp> 27 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.
GetSendTimelinePacket();
29 sendTimelinePacket->SendTimelineMessageDirectoryPackage();
34 unsigned int uint8_t_size =
sizeof(uint8_t);
36 unsigned int uint64_t_size =
sizeof(uint64_t);
37 unsigned int threadId_size =
sizeof(std::thread::id);
40 unsigned int offset = 0;
41 uint32_t packetHeaderWord0 =
ReadUint32(packetBuffer, offset);
42 uint32_t packetFamily = (packetHeaderWord0 >> 26) & 0x0000003F;
43 uint32_t packetClass = (packetHeaderWord0 >> 19) & 0x0000007F;
44 uint32_t packetType = (packetHeaderWord0 >> 16) & 0x00000007;
45 uint32_t streamId = (packetHeaderWord0 >> 0) & 0x00000007;
53 uint32_t packetHeaderWord1 =
ReadUint32(packetBuffer, offset);
54 uint32_t sequenceNumbered = (packetHeaderWord1 >> 24) & 0x00000001;
55 uint32_t dataLength = (packetHeaderWord1 >> 0) & 0x00FFFFFF;
60 uint8_t readStreamVersion =
ReadUint8(packetBuffer, offset);
62 offset += uint8_t_size;
63 uint8_t readPointerBytes =
ReadUint8(packetBuffer, offset);
65 offset += uint8_t_size;
66 uint8_t readThreadIdBytes =
ReadUint8(packetBuffer, offset);
69 offset += uint8_t_size;
70 uint32_t DeclCount =
ReadUint32(packetBuffer, offset);
141 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.
GetSendTimelinePacket();
143 const uint64_t entityBinaryPacketProfilingGuid = 123456u;
144 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityBinaryPacketProfilingGuid);
146 const uint64_t eventClassBinaryPacketProfilingGuid = 789123u;
147 sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassBinaryPacketProfilingGuid);
150 sendTimelinePacket->Commit();
156 unsigned int uint64_t_size =
sizeof(uint64_t);
159 unsigned int offset = 0;
162 uint32_t entityBinaryPacketHeaderWord0 =
ReadUint32(packetBuffer, offset);
163 uint32_t entityBinaryPacketFamily = (entityBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
164 uint32_t entityBinaryPacketClass = (entityBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
165 uint32_t entityBinaryPacketType = (entityBinaryPacketHeaderWord0 >> 16) & 0x00000007;
166 uint32_t entityBinaryPacketStreamId = (entityBinaryPacketHeaderWord0 >> 0) & 0x00000007;
175 uint32_t entityBinaryPacketHeaderWord1 =
ReadUint32(packetBuffer, offset);
177 uint32_t entityBinaryPacketSequenceNumbered = (entityBinaryPacketHeaderWord1 >> 24) & 0x00000001;
178 uint32_t entityBinaryPacketDataLength = (entityBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
180 BOOST_CHECK(entityBinaryPacketSequenceNumbered == 0);
185 uint32_t entitytDecId =
ReadUint32(packetBuffer, offset);
191 uint64_t readProfilingGuid =
ReadUint64(packetBuffer, offset);
193 BOOST_CHECK(readProfilingGuid == entityBinaryPacketProfilingGuid);
196 offset += uint64_t_size;
198 uint32_t eventClassDeclId =
ReadUint32(packetBuffer, offset);
203 readProfilingGuid =
ReadUint64(packetBuffer, offset);
204 BOOST_CHECK(readProfilingGuid == eventClassBinaryPacketProfilingGuid);
206 bufferManager.
MarkRead(packetBuffer);
212 unsigned int uint64_t_size =
sizeof(uint64_t);
213 unsigned int threadId_size =
sizeof(std::thread::id);
217 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.
GetSendTimelinePacket();
220 const uint64_t entityBinaryPacketProfilingGuid = 123456u;
221 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityBinaryPacketProfilingGuid);
224 sendTimelinePacket->Commit();
230 unsigned int offset = 0;
233 uint32_t entityBinaryPacketHeaderWord0 =
ReadUint32(packetBuffer, offset);
234 uint32_t entityBinaryPacketFamily = (entityBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
235 uint32_t entityBinaryPacketClass = (entityBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
236 uint32_t entityBinaryPacketType = (entityBinaryPacketHeaderWord0 >> 16) & 0x00000007;
237 uint32_t entityBinaryPacketStreamId = (entityBinaryPacketHeaderWord0 >> 0) & 0x00000007;
245 uint32_t entityBinaryPacketHeaderWord1 =
ReadUint32(packetBuffer, offset);
246 uint32_t entityBinaryPacketSequenceNumbered = (entityBinaryPacketHeaderWord1 >> 24) & 0x00000001;
247 uint32_t entityBinaryPacketDataLength = (entityBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
248 BOOST_CHECK(entityBinaryPacketSequenceNumbered == 0);
253 uint32_t entitytDecId =
ReadUint32(packetBuffer, offset);
259 uint64_t readProfilingGuid =
ReadUint64(packetBuffer, offset);
261 BOOST_CHECK(readProfilingGuid == entityBinaryPacketProfilingGuid);
263 bufferManager.
MarkRead(packetBuffer);
266 const uint64_t eventClassBinaryPacketProfilingGuid = 789123u;
267 sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassBinaryPacketProfilingGuid);
270 sendTimelinePacket->Commit();
279 uint32_t eventClassBinaryPacketHeaderWord0 =
ReadUint32(packetBuffer, offset);
280 uint32_t eventClassBinaryPacketFamily = (eventClassBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
281 uint32_t eventClassBinaryPacketClass = (eventClassBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
282 uint32_t eventClassBinaryPacketType = (eventClassBinaryPacketHeaderWord0 >> 16) & 0x00000007;
283 uint32_t eventClassBinaryPacketStreamId = (eventClassBinaryPacketHeaderWord0 >> 0) & 0x00000007;
291 uint32_t eventClassBinaryPacketHeaderWord1 =
ReadUint32(packetBuffer, offset);
292 uint32_t eventClassBinaryPacketSequenceNumbered = (eventClassBinaryPacketHeaderWord1 >> 24) & 0x00000001;
293 uint32_t eventClassBinaryPacketDataLength = (eventClassBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
294 BOOST_CHECK(eventClassBinaryPacketSequenceNumbered == 0);
295 BOOST_CHECK(eventClassBinaryPacketDataLength == 12);
298 uint32_t eventClassDeclId =
ReadUint32(packetBuffer, offset);
303 readProfilingGuid =
ReadUint64(packetBuffer, offset);
304 BOOST_CHECK(readProfilingGuid == eventClassBinaryPacketProfilingGuid);
306 bufferManager.
MarkRead(packetBuffer);
309 const uint64_t timestamp = 456789u;
310 const std::thread::id threadId = std::this_thread::get_id();
311 const uint64_t eventProfilingGuid = 123456u;
312 sendTimelinePacket->SendTimelineEventBinaryPacket(timestamp, threadId, eventProfilingGuid);
315 sendTimelinePacket->Commit();
324 uint32_t eventBinaryPacketHeaderWord0 =
ReadUint32(packetBuffer, offset);
325 uint32_t eventBinaryPacketFamily = (eventBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
326 uint32_t eventBinaryPacketClass = (eventBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
327 uint32_t eventBinaryPacketType = (eventBinaryPacketHeaderWord0 >> 16) & 0x00000007;
328 uint32_t eventBinaryPacketStreamId = (eventBinaryPacketHeaderWord0 >> 0) & 0x00000007;
336 uint32_t eventBinaryPacketHeaderWord1 =
ReadUint32(packetBuffer, offset);
337 uint32_t eventBinaryPacketSequenceNumbered = (eventBinaryPacketHeaderWord1 >> 24) & 0x00000001;
338 uint32_t eventBinaryPacketDataLength = (eventBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
339 BOOST_CHECK(eventBinaryPacketSequenceNumbered == 0);
344 uint32_t eventDeclId =
ReadUint32(packetBuffer, offset);
349 uint64_t eventTimestamp =
ReadUint64(packetBuffer, offset);
353 offset += uint64_t_size;
354 std::vector<uint8_t> readThreadId(threadId_size, 0);
355 ReadBytes(packetBuffer, offset, threadId_size, readThreadId.data());
359 offset += threadId_size;
360 readProfilingGuid =
ReadUint64(packetBuffer, offset);
361 BOOST_CHECK(readProfilingGuid == eventProfilingGuid);
368 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.
GetSendTimelinePacket();
370 BOOST_CHECK_THROW(sendTimelinePacket->SendTimelineMessageDirectoryPackage(),
378 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.
GetSendTimelinePacket();
381 const uint64_t entityBinaryPacketProfilingGuid = 123456u;
382 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityBinaryPacketProfilingGuid);
385 sendTimelinePacket->Commit();
391 const uint64_t eventClassBinaryPacketProfilingGuid = 789123u;
392 BOOST_CHECK_THROW(sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassBinaryPacketProfilingGuid),
403 std::hash<std::string> hasher;
404 uint64_t hash =
static_cast<uint64_t
>(hasher(
"dummy"));
408 uint64_t dynamicGuidValue =
static_cast<uint64_t
>(dynamicGuid);
411 dynamicGuid = profilingService.
NextGuid();
432 std::hash<std::string> hasher;
446 hash =
static_cast<uint64_t
>(hasher(
"ARMNN_PROFILING_SOL"));
450 hash =
static_cast<uint64_t
>(hasher(
"ARMNN_PROFILING_EOL"));
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
static ProfilingService & Instance()
static ARMNN_DLLEXPORT std::string TYPE_LABEL
void ReadBytes(const IPacketBufferPtr &packetBuffer, unsigned int offset, unsigned int valueSize, uint8_t outValue[])
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
Strongly typed guids to distinguish between those generated at runtime, and those that are statically...
static ARMNN_DLLEXPORT std::string NAME_LABEL
uint8_t ReadUint8(const IPacketBufferPtr &packetBuffer, unsigned int offset)
ProfilingService & profilingService
ProfilingDynamicGuid NextGuid() override
Return the next random Guid in the sequence.
BOOST_CHECK(profilingService.GetCurrentState()==ProfilingState::WaitingForAck)
static ARMNN_DLLEXPORT ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS
static ARMNN_DLLEXPORT ProfilingStaticGuid NAME_GUID
static ARMNN_DLLEXPORT ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS
SwTraceMessage ReadSwTraceMessage(const unsigned char *packetBuffer, unsigned int &offset)
void MarkRead(IPacketBufferPtr &packetBuffer) override
std::vector< std::string > m_ArgNames
std::vector< char > m_ArgTypes
IPacketBufferPtr GetReadableBuffer() override
std::unique_ptr< ISendTimelinePacket > GetSendTimelinePacket() const override
static ARMNN_DLLEXPORT std::string INDEX_LABEL
void ResetExternalProfilingOptions(const ExternalProfilingOptions &options, bool resetProfilingService=false)
BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)
uint32_t ReadUint32(const IPacketBufferPtr &packetBuffer, unsigned int offset)
BOOST_AUTO_TEST_SUITE_END()
static ARMNN_DLLEXPORT ProfilingStaticGuid INDEX_GUID
static ARMNN_DLLEXPORT ProfilingStaticGuid TYPE_GUID
std::unique_ptr< ISendTimelinePacket > GetSendTimelinePacket() const
armnn::Runtime::CreationOptions::ExternalProfilingOptions options
ProfilingStaticGuid GenerateStaticId(const std::string &str) override
Create a ProfilingStaticGuid based on a hash of the string.