10 #include <boost/test/test_tools.hpp> 11 #include <boost/test/unit_test_suite.hpp> 14 #include <boost/filesystem.hpp> 18 using namespace armnn;
19 using namespace timelinedecoder;
27 name.
m_Guid = uint64_t(10420554295983197538U);
32 type.
m_Guid = uint64_t(14196220359693045352U);
37 index.
m_Guid = uint64_t(13922236767355949814U);
42 backendId.
m_Guid = uint64_t(10874037804557439415U);
43 backendId.
m_Name =
"backendId";
47 layer.
m_Guid = uint64_t(14761340794127440397U);
52 workload.
m_Guid = uint64_t(15704252740552608110U);
53 workload.
m_Name =
"workload";
57 network.
m_Guid = uint64_t(16862199137063532871U);
58 network.
m_Name =
"network";
62 connection.
m_Guid = uint64_t(15733717748792475675U);
63 connection.
m_Name =
"connection";
67 inference.
m_Guid = uint64_t(15026600058430441282U);
68 inference.
m_Name =
"inference";
72 workload_execution.
m_Guid = uint64_t(10172155312650606003U);
73 workload_execution.
m_Name =
"workload_execution";
77 eventClass1.
m_Guid = uint64_t(17170418158534996719U);
81 eventClass2.
m_Guid = uint64_t(10812061579584851344U);
85 entity6.
m_Guid = uint64_t(6);
89 relationship7.
m_Guid = uint64_t(7);
92 relationship7.
m_TailGuid = uint64_t(16862199137063532871U);
96 relationship8.
m_Guid = uint64_t(8);
99 relationship8.
m_TailGuid = uint64_t(14196220359693045352U);
104 entity0.
m_Guid = uint64_t(0);
108 input.
m_Guid = uint64_t(18179123836411086572U);
113 relationship9.
m_Guid = uint64_t(9);
116 relationship9.
m_TailGuid = uint64_t(18179123836411086572U);
120 relationship10.
m_Guid = uint64_t(10);
123 relationship10.
m_TailGuid = uint64_t(10420554295983197538U);
127 relationship11.
m_Guid = uint64_t(11);
130 relationship11.
m_TailGuid = uint64_t(14761340794127440397U);
134 relationship12.
m_Guid = uint64_t(12);
137 relationship12.
m_TailGuid = uint64_t(14196220359693045352U);
141 relationship13.
m_Guid = uint64_t(13);
150 entity1.
m_Guid = uint64_t(1);
154 normalization.
m_Guid = uint64_t(15955949569988957863U);
155 normalization.
m_Name =
"normalization";
159 relationship14.
m_Guid = uint64_t(14);
162 relationship14.
m_TailGuid = uint64_t(15955949569988957863U);
166 relationship15.
m_Guid = uint64_t(15);
169 relationship15.
m_TailGuid = uint64_t(10420554295983197538U);
173 relationship16.
m_Guid = uint64_t(16);
176 relationship16.
m_TailGuid = uint64_t(14761340794127440397U);
180 relationship17.
m_Guid = uint64_t(17);
183 relationship17.
m_TailGuid = uint64_t(14196220359693045352U);
187 relationship18.
m_Guid = uint64_t(18);
194 relationship19.
m_Guid = uint64_t(19);
201 relationship20.
m_Guid = uint64_t(20);
204 relationship20.
m_TailGuid = uint64_t(15733717748792475675U);
208 relationship21.
m_Guid = uint64_t(21);
211 relationship21.
m_TailGuid = uint64_t(14196220359693045352U);
216 entity22.
m_Guid = uint64_t(22);
220 relationship23.
m_Guid = uint64_t(23);
223 relationship23.
m_TailGuid = uint64_t(15704252740552608110U);
227 relationship24.
m_Guid = uint64_t(24);
230 relationship24.
m_TailGuid = uint64_t(14196220359693045352U);
235 CpuRef.
m_Guid = uint64_t(9690680943817437852U);
241 relationship25.
m_Guid = uint64_t(25);
244 relationship25.
m_TailGuid = uint64_t(9690680943817437852U);
248 relationship26.
m_Guid = uint64_t(26);
251 relationship26.
m_TailGuid = uint64_t(10874037804557439415U);
255 relationship27.
m_Guid = uint64_t(27);
263 entity2.
m_Guid = uint64_t(2);
267 output.
m_Guid = uint64_t(18419179028513879730U);
272 relationship28.
m_Guid = uint64_t(28);
275 relationship28.
m_TailGuid = uint64_t(18419179028513879730U);
279 relationship29.
m_Guid = uint64_t(29);
282 relationship29.
m_TailGuid = uint64_t(10420554295983197538U);
286 relationship30.
m_Guid = uint64_t(30);
289 relationship30.
m_TailGuid = uint64_t(14761340794127440397U);
293 relationship31.
m_Guid = uint64_t(31);
296 relationship31.
m_TailGuid = uint64_t(14196220359693045352U);
300 relationship32.
m_Guid = uint64_t(32);
307 relationship33.
m_Guid = uint64_t(33);
314 relationship34.
m_Guid = uint64_t(34);
317 relationship34.
m_TailGuid = uint64_t(15733717748792475675U);
321 relationship35.
m_Guid = uint64_t(35);
324 relationship35.
m_TailGuid = uint64_t(14196220359693045352U);
329 entity36.
m_Guid = uint64_t(36);
333 relationship37.
m_Guid = uint64_t(37);
336 relationship37.
m_TailGuid = uint64_t(15704252740552608110U);
340 relationship38.
m_Guid = uint64_t(38);
343 relationship38.
m_TailGuid = uint64_t(14196220359693045352U);
347 relationship39.
m_Guid = uint64_t(39);
350 relationship39.
m_TailGuid = uint64_t(9690680943817437852U);
354 relationship40.
m_Guid = uint64_t(40);
357 relationship40.
m_TailGuid = uint64_t(10874037804557439415U);
361 relationship41.
m_Guid = uint64_t(41);
369 entity42.
m_Guid = uint64_t(42);
373 relationship43.
m_Guid = uint64_t(43);
376 relationship43.
m_TailGuid = uint64_t(15704252740552608110U);
380 relationship44.
m_Guid = uint64_t(44);
383 relationship44.
m_TailGuid = uint64_t(14196220359693045352U);
387 relationship45.
m_Guid = uint64_t(45);
390 relationship45.
m_TailGuid = uint64_t(9690680943817437852U);
394 relationship46.
m_Guid = uint64_t(46);
397 relationship46.
m_TailGuid = uint64_t(10874037804557439415U);
401 relationship47.
m_Guid = uint64_t(47);
408 entity48.
m_Guid = uint64_t(48);
412 relationship49.
m_Guid = uint64_t(49);
415 relationship49.
m_TailGuid = uint64_t(15026600058430441282U);
419 relationship50.
m_Guid = uint64_t(50);
422 relationship50.
m_TailGuid = uint64_t(14196220359693045352U);
426 relationship51.
m_Guid = uint64_t(51);
433 relationship53.
m_Guid = uint64_t(53);
440 relationship54.
m_Guid = uint64_t(54);
443 relationship54.
m_TailGuid = uint64_t(17170418158534996719U);
448 entity55.
m_Guid = uint64_t(55);
452 relationship56.
m_Guid = uint64_t(56);
455 relationship56.
m_TailGuid = uint64_t(10172155312650606003U);
459 relationship57.
m_Guid = uint64_t(57);
462 relationship57.
m_TailGuid = uint64_t(14196220359693045352U);
466 relationship58.
m_Guid = uint64_t(58);
473 relationship59.
m_Guid = uint64_t(59);
480 event60.
m_Guid = uint64_t(60);
482 event60.
m_ThreadId = uint64_t(140522431862592);
486 relationship61.
m_Guid = uint64_t(61);
493 relationship62.
m_Guid = uint64_t(62);
496 relationship62.
m_TailGuid = uint64_t(17170418158534996719U);
500 event63.
m_Guid = uint64_t(63);
502 event63.
m_ThreadId = uint64_t(140522431862592);
506 relationship64.
m_Guid = uint64_t(61);
513 relationship65.
m_Guid = uint64_t(62);
516 relationship65.
m_TailGuid = uint64_t(10812061579584851344U);
521 entity66.
m_Guid = uint64_t(66);
525 relationship67.
m_Guid = uint64_t(67);
528 relationship67.
m_TailGuid = uint64_t(10172155312650606003U);
532 relationship68.
m_Guid = uint64_t(68);
535 relationship68.
m_TailGuid = uint64_t(14196220359693045352U);
539 relationship69.
m_Guid = uint64_t(69);
546 relationship70.
m_Guid = uint64_t(70);
554 event71.
m_Guid = uint64_t(71);
556 event71.
m_ThreadId = uint64_t(140522431862592);
560 relationship72.
m_Guid = uint64_t(72);
567 relationship73.
m_Guid = uint64_t(73);
570 relationship73.
m_TailGuid = uint64_t(17170418158534996719U);
574 event74.
m_Guid = uint64_t(74);
576 event74.
m_ThreadId = uint64_t(140522431862592);
580 relationship75.
m_Guid = uint64_t(75);
587 relationship76.
m_Guid = uint64_t(76);
590 relationship76.
m_TailGuid = uint64_t(10812061579584851344U);
594 entity77.
m_Guid = uint64_t(77);
598 relationship78.
m_Guid = uint64_t(78);
601 relationship78.
m_TailGuid = uint64_t(10172155312650606003U);
605 relationship79.
m_Guid = uint64_t(79);
608 relationship79.
m_TailGuid = uint64_t(14196220359693045352U);
612 relationship80.
m_Guid = uint64_t(80);
619 relationship81.
m_Guid = uint64_t(81);
626 event82.
m_Guid = uint64_t(82);
628 event82.
m_ThreadId = uint64_t(140522431862592);
632 relationship83.
m_Guid = uint64_t(83);
639 relationship84.
m_Guid = uint64_t(84);
642 relationship84.
m_TailGuid = uint64_t(17170418158534996719U);
646 event85.
m_Guid = uint64_t(85);
648 event85.
m_ThreadId = uint64_t(140522431862592);
652 relationship86.
m_Guid = uint64_t(86);
659 relationship87.
m_Guid = uint64_t(87);
662 relationship87.
m_TailGuid = uint64_t(10812061579584851344U);
666 event88.
m_Guid = uint64_t(88);
668 event88.
m_ThreadId = uint64_t(140522431862592);
672 relationship89.
m_Guid = uint64_t(89);
679 relationship90.
m_Guid = uint64_t(90);
682 relationship90.
m_TailGuid = uint64_t(10812061579584851344U);
703 BOOST_CHECK(input_workload_entity.childEntities.size() == 1);
704 BOOST_CHECK(input_workload_entity.GetType() ==
"workload");
705 BOOST_CHECK(input_workload_entity.extendedData.at(
"backendId") ==
"CpuRef");
708 .at(input_workload_entity.childEntities[0]);
709 BOOST_CHECK(input_workload_execution_entity.childEntities.size() == 2);
710 BOOST_CHECK(input_workload_execution_entity.GetType() ==
"workload_execution");
713 .at(input_workload_execution_entity.childEntities[0]);
714 BOOST_CHECK(input_workload_execution_event0.GetType() ==
"Event");
715 BOOST_CHECK(input_workload_execution_event0.childEntities.size() == 0);
716 BOOST_CHECK(model.
events.at(input_workload_execution_event0.GetGuid()).m_ThreadId > uint64_t(0));
717 BOOST_CHECK(model.
events.at(input_workload_execution_event0.GetGuid()).m_TimeStamp > uint64_t(0));
720 .at(input_workload_execution_entity.childEntities[1]);
721 BOOST_CHECK(input_workload_execution_event0.GetType() ==
"Event");
722 BOOST_CHECK(input_workload_execution_event1.childEntities.size() == 0);
723 BOOST_CHECK(model.
events.at(input_workload_execution_event1.GetGuid()).m_ThreadId > uint64_t(0));
724 BOOST_CHECK(model.
events.at(input_workload_execution_event1.GetGuid()).m_TimeStamp > uint64_t(0));
732 .at(entity1.childEntities[0]);
733 BOOST_CHECK(normalization_workload_entity.GetType() ==
"workload");
734 BOOST_CHECK(normalization_workload_entity.extendedData.at(
"backendId") ==
"CpuRef");
737 .at(normalization_workload_entity.childEntities[0]);
738 BOOST_CHECK(normalization_workload_execution_entity.GetType() ==
"workload_execution");
741 .at(normalization_workload_execution_entity.childEntities[0]);
742 BOOST_CHECK(normalization_workload_execution_event0.GetType() ==
"Event");
743 BOOST_CHECK(model.
events.at(normalization_workload_execution_event0.GetGuid()).m_ThreadId > uint64_t(0));
744 BOOST_CHECK(model.
events.at(normalization_workload_execution_event0.GetGuid()).m_TimeStamp > uint64_t(0));
747 .at(normalization_workload_execution_entity.childEntities[1]);
748 BOOST_CHECK(normalization_workload_execution_event1.GetType() ==
"Event");
749 BOOST_CHECK(model.
events.at(normalization_workload_execution_event1.GetGuid()).m_ThreadId > uint64_t(0));
750 BOOST_CHECK(model.
events.at(normalization_workload_execution_event1.GetGuid()).m_TimeStamp > uint64_t(0));
758 BOOST_CHECK(output_workload_entity.GetType() ==
"workload");
759 BOOST_CHECK(output_workload_entity.extendedData.at(
"backendId") ==
"CpuRef");
762 .at(output_workload_entity.childEntities[0]);
763 BOOST_CHECK(output_workload_execution_entity.GetType() ==
"workload_execution");
766 .at(output_workload_execution_entity.childEntities[0]);
767 BOOST_CHECK(output_workload_execution_event0.GetType() ==
"Event");
768 BOOST_CHECK(model.
events.at(output_workload_execution_event0.GetGuid()).m_ThreadId > uint64_t(0));
769 BOOST_CHECK(model.
events.at(output_workload_execution_event0.GetGuid()).m_TimeStamp > uint64_t(0));
772 .at(output_workload_execution_entity.childEntities[1]);
773 BOOST_CHECK(output_workload_execution_event1.GetType() ==
"Event");
774 BOOST_CHECK(model.
events.at(output_workload_execution_event1.GetGuid()).m_ThreadId > uint64_t(0));
775 BOOST_CHECK(model.
events.at(output_workload_execution_event1.GetGuid()).m_TimeStamp > uint64_t(0));
790 std::string jsonString = timelineDecoder.
GetJSONString(rootEntity);
792 BOOST_CHECK(jsonString.find(
"input_0: {")!=std::string::npos);
794 "\t\t\tbackendId :CpuRef,")!=std::string::npos);
795 BOOST_CHECK(jsonString.find(
"normalization_2: {")!=std::string::npos);
796 BOOST_CHECK(jsonString.find(
"output_4: {")!=std::string::npos);
800 boost::filesystem::ifstream inFile;
801 boost::filesystem::path fileDir = boost::filesystem::temp_directory_path();
802 boost::filesystem::path p{fileDir / boost::filesystem::unique_path(
"output.json")};
806 std::stringstream strStream;
807 strStream << inFile.rdbuf();
808 std::string outfileJson = strStream.str();
811 BOOST_CHECK(outfileJson.find(
"input_0: {")!=std::string::npos);
812 BOOST_CHECK(outfileJson.find(
"type: Measurement,\n" 813 "\t\t\tbackendId :CpuRef,")!=std::string::npos);
814 BOOST_CHECK(outfileJson.find(
"normalization_2: {")!=std::string::npos);
815 BOOST_CHECK(outfileJson.find(
"output_4: {")!=std::string::npos);
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
Head execution start depends on Tail execution completion.
CPU Execution: Reference C++ kernels.
Head retains(parents) Tail.
Copyright (c) 2020 ARM Limited.
std::map< uint64_t, JSONEntity > jsonEntities
BOOST_CHECK(profilingService.GetCurrentState()==ProfilingState::WaitingForAck)
std::map< uint64_t, Event > events
RelationshipType m_RelationshipType
virtual TimelineStatus CreateEntity(const Entity &) override
BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)
void RunSimpleModelThroughDecoder(JSONTimelineDecoder &timelineDecoder)
virtual TimelineStatus CreateEventClass(const EventClass &) override
std::string GetJSONString(JSONEntity &rootEntity)
BOOST_AUTO_TEST_SUITE_END()
void PrintJSON(JSONEntity &entity)
virtual TimelineStatus CreateLabel(const Label &) override
virtual TimelineStatus CreateEvent(const Event &) override
virtual TimelineStatus CreateRelationship(const Relationship &) override