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;
174 uint32_t entityBinaryPacketHeaderWord1 =
ReadUint32(packetBuffer, offset);
175 uint32_t entityBinaryPacketSequenceNumbered = (entityBinaryPacketHeaderWord1 >> 24) & 0x00000001;
176 uint32_t entityBinaryPacketDataLength = (entityBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
177 BOOST_CHECK(entityBinaryPacketSequenceNumbered == 0);
182 uint32_t entitytDecId =
ReadUint32(packetBuffer, offset);
188 uint64_t readProfilingGuid =
ReadUint64(packetBuffer, offset);
190 BOOST_CHECK(readProfilingGuid == entityBinaryPacketProfilingGuid);
193 offset += uint64_t_size;
194 uint32_t eventClassBinaryPacketHeaderWord0 =
ReadUint32(packetBuffer, offset);
195 uint32_t eventClassBinaryPacketFamily = (eventClassBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
196 uint32_t eventClassBinaryPacketClass = (eventClassBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
197 uint32_t eventClassBinaryPacketType = (eventClassBinaryPacketHeaderWord0 >> 16) & 0x00000007;
198 uint32_t eventClassBinaryPacketStreamId = (eventClassBinaryPacketHeaderWord0 >> 0) & 0x00000007;
206 uint32_t eventClassBinaryPacketHeaderWord1 =
ReadUint32(packetBuffer, offset);
207 uint32_t eventClassBinaryPacketSequenceNumbered = (eventClassBinaryPacketHeaderWord1 >> 24) & 0x00000001;
208 uint32_t eventClassBinaryPacketDataLength = (eventClassBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
209 BOOST_CHECK(eventClassBinaryPacketSequenceNumbered == 0);
210 BOOST_CHECK(eventClassBinaryPacketDataLength == 12);
213 uint32_t eventClassDeclId =
ReadUint32(packetBuffer, offset);
218 readProfilingGuid =
ReadUint64(packetBuffer, offset);
219 BOOST_CHECK(readProfilingGuid == eventClassBinaryPacketProfilingGuid);
221 bufferManager.
MarkRead(packetBuffer);
227 unsigned int uint64_t_size =
sizeof(uint64_t);
228 unsigned int threadId_size =
sizeof(std::thread::id);
232 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.
GetSendTimelinePacket();
235 const uint64_t entityBinaryPacketProfilingGuid = 123456u;
236 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityBinaryPacketProfilingGuid);
239 sendTimelinePacket->Commit();
245 unsigned int offset = 0;
248 uint32_t entityBinaryPacketHeaderWord0 =
ReadUint32(packetBuffer, offset);
249 uint32_t entityBinaryPacketFamily = (entityBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
250 uint32_t entityBinaryPacketClass = (entityBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
251 uint32_t entityBinaryPacketType = (entityBinaryPacketHeaderWord0 >> 16) & 0x00000007;
252 uint32_t entityBinaryPacketStreamId = (entityBinaryPacketHeaderWord0 >> 0) & 0x00000007;
260 uint32_t entityBinaryPacketHeaderWord1 =
ReadUint32(packetBuffer, offset);
261 uint32_t entityBinaryPacketSequenceNumbered = (entityBinaryPacketHeaderWord1 >> 24) & 0x00000001;
262 uint32_t entityBinaryPacketDataLength = (entityBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
263 BOOST_CHECK(entityBinaryPacketSequenceNumbered == 0);
268 uint32_t entitytDecId =
ReadUint32(packetBuffer, offset);
274 uint64_t readProfilingGuid =
ReadUint64(packetBuffer, offset);
276 BOOST_CHECK(readProfilingGuid == entityBinaryPacketProfilingGuid);
278 bufferManager.
MarkRead(packetBuffer);
281 const uint64_t eventClassBinaryPacketProfilingGuid = 789123u;
282 sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassBinaryPacketProfilingGuid);
285 sendTimelinePacket->Commit();
294 uint32_t eventClassBinaryPacketHeaderWord0 =
ReadUint32(packetBuffer, offset);
295 uint32_t eventClassBinaryPacketFamily = (eventClassBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
296 uint32_t eventClassBinaryPacketClass = (eventClassBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
297 uint32_t eventClassBinaryPacketType = (eventClassBinaryPacketHeaderWord0 >> 16) & 0x00000007;
298 uint32_t eventClassBinaryPacketStreamId = (eventClassBinaryPacketHeaderWord0 >> 0) & 0x00000007;
306 uint32_t eventClassBinaryPacketHeaderWord1 =
ReadUint32(packetBuffer, offset);
307 uint32_t eventClassBinaryPacketSequenceNumbered = (eventClassBinaryPacketHeaderWord1 >> 24) & 0x00000001;
308 uint32_t eventClassBinaryPacketDataLength = (eventClassBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
309 BOOST_CHECK(eventClassBinaryPacketSequenceNumbered == 0);
310 BOOST_CHECK(eventClassBinaryPacketDataLength == 12);
313 uint32_t eventClassDeclId =
ReadUint32(packetBuffer, offset);
318 readProfilingGuid =
ReadUint64(packetBuffer, offset);
319 BOOST_CHECK(readProfilingGuid == eventClassBinaryPacketProfilingGuid);
321 bufferManager.
MarkRead(packetBuffer);
324 const uint64_t timestamp = 456789u;
325 const std::thread::id threadId = std::this_thread::get_id();
326 const uint64_t eventProfilingGuid = 123456u;
327 sendTimelinePacket->SendTimelineEventBinaryPacket(timestamp, threadId, eventProfilingGuid);
330 sendTimelinePacket->Commit();
339 uint32_t eventBinaryPacketHeaderWord0 =
ReadUint32(packetBuffer, offset);
340 uint32_t eventBinaryPacketFamily = (eventBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
341 uint32_t eventBinaryPacketClass = (eventBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
342 uint32_t eventBinaryPacketType = (eventBinaryPacketHeaderWord0 >> 16) & 0x00000007;
343 uint32_t eventBinaryPacketStreamId = (eventBinaryPacketHeaderWord0 >> 0) & 0x00000007;
351 uint32_t eventBinaryPacketHeaderWord1 =
ReadUint32(packetBuffer, offset);
352 uint32_t eventBinaryPacketSequenceNumbered = (eventBinaryPacketHeaderWord1 >> 24) & 0x00000001;
353 uint32_t eventBinaryPacketDataLength = (eventBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
354 BOOST_CHECK(eventBinaryPacketSequenceNumbered == 0);
359 uint32_t eventDeclId =
ReadUint32(packetBuffer, offset);
364 uint64_t eventTimestamp =
ReadUint64(packetBuffer, offset);
368 offset += uint64_t_size;
369 std::vector<uint8_t> readThreadId(threadId_size, 0);
370 ReadBytes(packetBuffer, offset, threadId_size, readThreadId.data());
374 offset += threadId_size;
375 readProfilingGuid =
ReadUint64(packetBuffer, offset);
376 BOOST_CHECK(readProfilingGuid == eventProfilingGuid);
383 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.
GetSendTimelinePacket();
385 BOOST_CHECK_THROW(sendTimelinePacket->SendTimelineMessageDirectoryPackage(),
393 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.
GetSendTimelinePacket();
396 const uint64_t entityBinaryPacketProfilingGuid = 123456u;
397 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityBinaryPacketProfilingGuid);
400 sendTimelinePacket->Commit();
406 const uint64_t eventClassBinaryPacketProfilingGuid = 789123u;
407 BOOST_CHECK_THROW(sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassBinaryPacketProfilingGuid),
418 std::hash<std::string> hasher;
419 uint64_t hash =
static_cast<uint64_t
>(hasher(
"dummy"));
423 uint64_t dynamicGuidValue =
static_cast<uint64_t
>(dynamicGuid);
426 dynamicGuid = profilingService.
NextGuid();
447 std::hash<std::string> hasher;
461 hash =
static_cast<uint64_t
>(hasher(
"ARMNN_PROFILING_SOL"));
465 hash =
static_cast<uint64_t
>(hasher(
"ARMNN_PROFILING_EOL"));
static ARMNN_DLLEXPORT ProfilingStaticGuid INDEX_GUID
std::vector< char > m_ArgTypes
static ARMNN_DLLEXPORT std::string INDEX_LABEL
uint64_t ReadUint64(const IPacketBufferPtr &packetBuffer, unsigned int offset)
static ARMNN_DLLEXPORT ProfilingStaticGuid ARMNN_PROFILING_EOL_EVENT_CLASS
std::vector< std::string > m_ArgNames
BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)
ProfilingStaticGuid GenerateStaticId(const std::string &str) override
Create a ProfilingStaticGuid based on a hash of the string.
std::unique_ptr< ISendTimelinePacket > GetSendTimelinePacket() const
static ARMNN_DLLEXPORT std::string NAME_LABEL
ProfilingDynamicGuid NextGuid() override
Return the next random Guid in the sequence.
void MarkRead(IPacketBufferPtr &packetBuffer) override
static ARMNN_DLLEXPORT ProfilingStaticGuid TYPE_GUID
void ResetExternalProfilingOptions(const ExternalProfilingOptions &options, bool resetProfilingService=false)
BOOST_CHECK(profilingService.GetCurrentState()==ProfilingState::WaitingForAck)
static ProfilingService & Instance()
uint32_t ReadUint32(const IPacketBufferPtr &packetBuffer, unsigned int offset)
BOOST_AUTO_TEST_SUITE_END()
void ReadBytes(const IPacketBufferPtr &packetBuffer, unsigned int offset, unsigned int valueSize, uint8_t outValue[])
IPacketBufferPtr GetReadableBuffer() override
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
Strongly typed guids to distinguish between those generated at runtime, and those that are statically...
static ARMNN_DLLEXPORT ProfilingStaticGuid ARMNN_PROFILING_SOL_EVENT_CLASS
uint8_t ReadUint8(const IPacketBufferPtr &packetBuffer, unsigned int offset)
static ARMNN_DLLEXPORT std::string TYPE_LABEL
std::unique_ptr< ISendTimelinePacket > GetSendTimelinePacket() const override
ProfilingService & profilingService
armnn::Runtime::CreationOptions::ExternalProfilingOptions options
static ARMNN_DLLEXPORT ProfilingStaticGuid NAME_GUID
SwTraceMessage ReadSwTraceMessage(const unsigned char *packetBuffer, unsigned int &offset)