Intel® Distribution of OpenVINO™ Toolkit
Community support and discussions about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all things computer vision-related on Intel® platforms.

HDDL Autoboot

Catastrophe
Novice
1,365 Views

I was able to initialize 8 MYRIADs using the HDDL Plugin.

I am also running a program that processes 4 images and uses the HDDL plugin as the device.

But, while I was performing a test run by running the program continuously, there was a message on the terminal/command prompt that a certain MYRIAD was rebooted and says " Device x.x-xxxxxx reload success".

 

I need to figure out why this certain MYRIAD was reloaded. Is there a parameter in the config of HDDL that I can change to prevent the MYRIADs from reloading once initalized?

Labels (1)
0 Kudos
16 Replies
Peh_Intel
Moderator
1,336 Views

Hi Catastrope,


Thanks for reaching out to us.


Please share with us which acceleration card you’re using as well as OpenVINO™ and operating system versions.


I was not able to reproduce your issue. I executed object detection python demo with UP AI Core XP4 (4 MYRIADs) on Ubuntu 18. When running the demo for the first time (initialize MYRIADs), the MYRIADs started to boot, and the info message stated, “Device X.X-ma2480 boot success.” But for the second time (after MYRIADs initialized), the info message stated, “loading network to HDDL plugin” and then showed up the application without reloading the MYRIADs. I get the same result even after several tries.


Please also share with us how you performed your test run for us to duplicate the issue on our side.



Regards,

Peh


Catastrophe
Novice
1,317 Views

These are the following information that I have: 

 - Eight Intel® Movidius™ Myriad™ X MA2485 (VEGA-340)

 - OpenVINO 2020.3.194

 - Microsoft Windows 10 Enterprise

 

As for the test run, I cannot specifically disclose all the information since we are using our own GUI for deployment purposes.

But the idea is that the OpenVINO C++ program is used by a C# DLL. And I only load the model once. Also, I have confirmed that the model is not loaded again on the network. 

 

I want to figure out what triggered the program to reload a certain MYRIAD. And why is that 1 MYRIAD device was only reloaded? 

When the message "Device x.x-xxxxxx reload success" appeared the complete line was:

 

[7428][AutoBoot.cpp:178] Device 2.4-ma2480 reload success. 

 

Where can I see the AutoBoot.cpp file?

Catastrophe
Novice
1,293 Views

I tried to perform a test run again and the following are the results that I got from the debug logs:

 

[10:23:01.1570][2008]D[hddl_protocol.cpp:96] --> Receiving Msg (fd = 2)
[10:23:01.1573][2008]D[hddl_protocol.cpp:149] --> Received Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_REQ [ReqSeq = 11743]
[10:23:01.1578][2008]D[MessageDispatcher.cpp:308] [TrackFd] create: clientId=1 graphId=1 inFd=0 outFd=0 auxFd=0
[10:23:01.1582][764]D[HddlMyriadXDevice.cpp:646] [TrackFd] map: clientId=1 graphId=1 taskId=11741 inFd=0
[10:23:01.1585][3772]D[hddl_protocol.cpp:237] <-- Send Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_RSP [ReqSeq = 11743]
[10:23:01.1587][3772]D[hddl_protocol.cpp:249] <-- Send Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_RSP [ReqSeq = 11743] DONE
[10:23:01.1589][2008]D[hddl_protocol.cpp:96] --> Receiving Msg (fd = 2)
[10:23:01.1591][2008]D[hddl_protocol.cpp:149] --> Received Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_REQ [ReqSeq = 11744]
[10:23:01.1594][2008]D[MessageDispatcher.cpp:308] [TrackFd] create: clientId=1 graphId=1 inFd=0 outFd=0 auxFd=0
[10:23:01.1597][3772]D[hddl_protocol.cpp:237] <-- Send Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_RSP [ReqSeq = 11744]
[10:23:01.1600][3772]D[hddl_protocol.cpp:249] <-- Send Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_RSP [ReqSeq = 11744] DONE
[10:23:01.1603][4280]D[HddlMyriadXDevice.cpp:646] [TrackFd] map: clientId=1 graphId=1 taskId=11742 inFd=0
[10:23:01.1605][2008]D[hddl_protocol.cpp:96] --> Receiving Msg (fd = 2)
[10:23:01.1607][2008]D[hddl_protocol.cpp:149] --> Received Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_REQ [ReqSeq = 11745]
[10:23:01.1610][2008]D[MessageDispatcher.cpp:308] [TrackFd] create: clientId=1 graphId=1 inFd=0 outFd=0 auxFd=0
[10:23:01.1614][3924]D[HddlMyriadXDevice.cpp:646] [TrackFd] map: clientId=1 graphId=1 taskId=11743 inFd=0
[10:23:01.1616][3772]D[hddl_protocol.cpp:237] <-- Send Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_RSP [ReqSeq = 11745]
[10:23:01.1618][3772]D[hddl_protocol.cpp:249] <-- Send Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_RSP [ReqSeq = 11745] DONE
[10:23:01.1621][2008]D[hddl_protocol.cpp:96] --> Receiving Msg (fd = 2)
[10:23:01.1623][2008]D[hddl_protocol.cpp:149] --> Received Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_REQ [ReqSeq = 11746]
[10:23:01.1625][2008]D[MessageDispatcher.cpp:308] [TrackFd] create: clientId=1 graphId=1 inFd=0 outFd=0 auxFd=0
[10:23:01.1627][1788]D[HddlMyriadXDevice.cpp:761] [TrackFd] map: clientId=1 graphId=1 taskId=11741 outFd=0
[10:23:01.1629][3772]D[hddl_protocol.cpp:237] <-- Send Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_RSP [ReqSeq = 11746]
[10:23:01.1630][3772]D[hddl_protocol.cpp:249] <-- Send Msg (fd = 2): HDDL_MESSAGE_INFER_TASK_RSP [ReqSeq = 11746] DONE
[10:23:01.1632][7380]D[HddlMyriadXDevice.cpp:646] [TrackFd] map: clientId=1 graphId=1 taskId=11744 inFd=0
[10:23:01.1640][5308]D[HddlMyriadXDevice.cpp:761] [TrackFd] map: clientId=1 graphId=1 taskId=11742 outFd=0
[10:23:01.1664][6284]D[HddlMyriadXDevice.cpp:761] [TrackFd] map: clientId=1 graphId=1 taskId=11744 outFd=0
WinUsb_WritePipe: System err 31u

WinUsb_WritePipe failed with error:=31u
E: [xLink] [ 0] dispatcherEventSend:930 Write failed header -2 | event USB_WRITE_REQ

F: [xLink] [ 0] dispatcherResponseServe:371 no request for this response: USB_READ_REL_RESP 1 21034

info: #### (i == MAX_EVENTS) USB_READ_REL_RESP 1 21034
C:\jenkins\workspace\BuildAndPush1b4a9935\hddl-mvnc\XLink\shared\XLink.c:310: 0) header->id 21003, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
W: [xLink] [ 0] dispatcherEventReceive:352 1) header->id 21004, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
Failed to handle incoming event2) header->id 21005, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1

i3) header->id 21006, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
n4) header->id 21007, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
f5) header->id 21008, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
o6) header->id 21009, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
:7) header->id 21010, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
C:\8) header->id 21011, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
9) header->id 21012, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
jenkins\workspace\BuildAndPush1b4a9935\hddl-mvnc\XLink\shared\XLink.c:353: 10) header->id 21013, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
E: [xLink] [ 0] eventReader:263 11) header->id 21014, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
eventReader stopped12) header->id 21015, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1

13) header->id 21016, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
14) header->id 21017, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
15) header->id 21018, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
16) header->id 21019, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
17) header->id 21020, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
18) header->id 21021, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
19) header->id 21022, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
20) header->id 21023, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
21) header->id 21024, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
22) header->id 21025, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
23) header->id 21026, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
24) header->id 21027, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
25) header->id 21028, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
26) header->id 21029, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
27) header->id 21030, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
28) header->id 21031, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
29) header->id 21032, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
30) header->id 21033, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
31) header->id 21034, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
32) header->id 21035, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 1, EVENT_PENDING 1
33) header->id 20972, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
34) header->id 20973, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
35) header->id 20974, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
36) header->id 20975, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
37) header->id 20976, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
38) header->id 20977, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
39) header->id 20978, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
40) header->id 20979, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
41) header->id 20980, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
42) header->id 20981, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
43) header->id 20982, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
44) header->id 20983, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
45) header->id 20984, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
46) header->id 20985, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
47) header->id 20986, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
48) header->id 20987, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
49) header->id 20988, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
50) header->id 20989, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
51) header->id 20990, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
52) header->id 20991, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
53) header->id 20992, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
54) header->id 20993, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
55) header->id 20994, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
56) header->id 20995, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
57) header->id 20996, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
58) header->id 20997, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
59) header->id 20998, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
60) header->id 20999, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
61) header->id 21000, header->type USB_READ_REQ(1), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
62) header->id 21001, header->type USB_READ_REL_REQ(2), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
63) header->id 21002, header->type USB_WRITE_REQ(0), curr->lQueue.q[i].isServed 4, EVENT_PENDING 1
info: C:\jenkins\workspace\BuildAndPush1b4a9935\hddl-mvnc\XLink\shared\XLinkDispatcher.c:381: scheduler thread exit
[10:23:01.1810][3924]ERROR[HddlMyriadXDevice.cpp:659] Error: ncFifoWriteElem() failed, device=4.1- taskId=11743 rc=-6
[10:23:01.2642][1788]D[HddlMyriadXDevice.cpp:1021] [dev: 4.2-] inferTime = 99.24 ms
[10:23:01.2645][3772]D[hddl_protocol.cpp:237] <-- Send Msg (fd = 2): HDDL_MESSAGE_TASK_DONE_MSG [ReqSeq = 0]
[10:23:01.2649][1408]D[HddlTask.cpp:48] [TrackFd] close: clientId=1 graphId=1 inFd=0 outFd=0 auxFd=0
[10:23:01.2650][5308]D[HddlMyriadXDevice.cpp:1021] [dev: 2.1-] inferTime = 99.23 ms
[10:23:01.2651][3772]D[hddl_protocol.cpp:249] <-- Send Msg (fd = 2): HDDL_MESSAGE_TASK_DONE_MSG [ReqSeq = 0] DONE
[10:23:01.2653][3772]D[hddl_protocol.cpp:237] <-- Send Msg (fd = 2): HDDL_MESSAGE_TASK_DONE_MSG [ReqSeq = 0]
[10:23:01.2654][3772]D[hddl_protocol.cpp:249] <-- Send Msg (fd = 2): HDDL_MESSAGE_TASK_DONE_MSG [ReqSeq = 0] DONE
[10:23:01.2655][1408]D[HddlTask.cpp:48] [TrackFd] close: clientId=1 graphId=1 inFd=0 outFd=0 auxFd=0
[10:23:01.2666][6284]D[HddlMyriadXDevice.cpp:1021] [dev: 1.2-] inferTime = 99.36 ms
[10:23:01.2668][3772]D[hddl_protocol.cpp:237] <-- Send Msg (fd = 2): HDDL_MESSAGE_TASK_DONE_MSG [ReqSeq = 0]
[10:23:01.2669][1408]D[HddlTask.cpp:48] [TrackFd] close: clientId=1 graphId=1 inFd=0 outFd=0 auxFd=0
[10:23:01.2670][3772]D[hddl_protocol.cpp:249] <-- Send Msg (fd = 2): HDDL_MESSAGE_TASK_DONE_MSG [ReqSeq = 0] DONE
[10:23:01.9776][3924]I[HddlMyriadXDevice.cpp:1254] hardware reset device(4.1-) finished, deviceId=230 rc=0
[10:23:01.9779][3924]ERROR[SlaveWorker.cpp:181] [Wt4.1-S0] Error: loadTensor(11743) failed, rc=-6
[10:23:01.9784][3924]I[SlaveWorker.cpp:282] [Wt4.1-S0] Return task(11743) to TaskManager, loadCount=1 error=-6
info: C:\jenkins\workspace\BuildAndPush1b4a9935\hddl-mvnc\XLink\shared\XLink.c:1305: [10:23:01.9787][1324]D[HddlMyriadXDevice.cpp:646] [TrackFd] map: clientId=1 graphId=1 taskId=11743 inFd=0
E: [ncAPI] [ 0] ncFifoDestroy:2440 Failed to write to fifo before deleting it!
info: C:\jenkins\workspace\BuildAndPush1b4a9935\hddl-mvnc\XLink\shared\XLink.c:1228: [10:23:01.9828][3924]ERROR[HddlMyriadXDevice.cpp:1200] Error: ncFifoDelete() failed, device=4.1- rc=-2
info: C:\jenkins\workspace\BuildAndPush1b4a9935\hddl-mvnc\XLink\shared\XLink.c:1228: info: C:\jenkins\workspace\BuildAndPush1b4a9935\hddl-mvnc\XLink\shared\XLink.c:1228: [10:23:01.9849][5684]D[HddlMyriadXDevice.cpp:761] [TrackFd] map: clientId=1 graphId=1 taskId=11743 outFd=0
[10:23:01.9857][4092]I[DeviceManager.cpp:617] Old worker(Wt4.1-) is removed
[10:23:01.9859][4704]I[DeviceManager.cpp:649] times 0: try to create worker on device(4.1-)
WinUsb_WritePipe: System err 31u

WinUsb_WritePipe failed with error:=31u
E: [xLink] [ 0] dispatcherEventSend:930 Write failed header -2 | event USB_PING_REQ

WinUsb_ReadPipe: System err 31u
E: [xLink] [ 0] dispatcherEventReceive:336 dispatcherEventReceive() Read failed -2 | event 0000007E245FFB70 USB_WRITE_REQ

E: [xLink] [ 0] eventReader:263 eventReader stopped
scheduler thread exit
info: C:\jenkins\workspace\BuildAndPush1b4a9935\hddl-mvnc\XLink\shared\XLinkDispatcher.c:931: E: [ncAPI] [ 0] ncDeviceOpenBooted:892 Failed to connect device

[10:23:02.0033][4704]ERROR[HddlMyriadXDevice.cpp:129] Error: ncDeviceOpenBooted() failed, device=4.1- rc=-6
[10:23:02.0034][4704]ERROR[WorkThread.cpp:361] Error: open device failed, rc=-6
[10:23:02.0034][4704]ERROR[DeviceManager.cpp:652] [FAILED] times 0: create worker on device(4.1-)
[10:23:02.0868][5684]D[HddlMyriadXDevice.cpp:1021] [dev: 2.2-] inferTime = 99.55 ms
[10:23:02.0871][3772]D[hddl_protocol.cpp:237] <-- Send Msg (fd = 2): HDDL_MESSAGE_TASK_DONE_MSG [ReqSeq = 0]
[10:23:02.0874][3772]D[hddl_protocol.cpp:249] <-- Send Msg (fd = 2): HDDL_MESSAGE_TASK_DONE_MSG [ReqSeq = 0] DONE
[10:23:02.0877][1408]D[HddlTask.cpp:48] [TrackFd] close: clientId=1 graphId=1 inFd=0 outFd=0 auxFd=0
[10:23:03.0137][4704]I[DeviceManager.cpp:649] times 1: try to create worker on device(4.1-)
[10:23:03.0321][4704]I[DeviceManager.cpp:670] [SUCCESS] times 1: create worker on device(4.1-)
[10:23:03.0322][4704]I[DeviceManager.cpp:719] worker(Wt4.1-) created on device(4.1-), type(0)

 

Can you help me understand how to solve these errors?

Peh_Intel
Moderator
1,259 Views

Hi Catastrope,


Thank you for your patience.


I noticed that you’re using the old OpenVINO™ version, 2020.3. Can you try to install the latest OpenVINO™ version which is 2021.3 and have a try with that? The latest OpenVINO™ version had some fixes regarding the Autoboot.cpp file.


Please do come back to us if the issue still persists.



Regards,

Peh


Catastrophe
Novice
1,253 Views

Thank you for the suggestion regarding the installation of the newest OpenVINO. Although we prefer to use the 2020.3 version because it is an LTS version, I will also try the new version and check if the issue persists.

 

But can you help me identify what are the possible reasons that the single VPU rebooted? Especially given the following error:

WinUsb_WritePipe: System err 31u

WinUsb_WritePipe failed with error:=31u
E: [xLink] [ 0] dispatcherEventSend:930 Write failed header -2 | event USB_WRITE_REQ

F: [xLink] [ 0] dispatcherResponseServe:371 no request for this response: USB_READ_REL_RESP 1 21034

info: #### (i == MAX_EVENTS) USB_READ_REL_RESP 1 21034

 

I also noticed that during this error, the inference request for this particular device failed to have 2 lines of the [TrackFd] map: 

[TrackFd] map: clientId=1 graphId=1 taskId=11743 inFd=0

 

Is that a possible reason? Although I find it hard to track the real reason on why did the VPU was reloaded.

 

Thank you so much for helping me!

Peh_Intel
Moderator
1,211 Views

Hi Catastrope,


One of the possible reasons could due to the multi-threading issue in MYRIAD. We do have received some multi-threading issues with the previous OpenVINO™ version. Hence there are few fixes in the later OpenVINO™ version.


Another possible reason is due to MYRIAD is reloaded automatically once it is failed, so it is a kind of a failure prevention mechanism embedded within the HDDL plugin.



Regards,

Peh


Catastrophe
Novice
1,197 Views

I understand. Thanks for the reply, Peh!

 

I updated the version of the OpenVINO and currently I am also updating the source code that I was using in order

to run it on the newest version.

 

I really need to know the root cause of the MYRIAD rebooting so I continued finding some error logs.

I noticed that on the command prompt window of the hddldaemon.exe, there id a "Duplicate id detected" error that is 

showing. What does this error mean? And is there a way on how to solve it?

Catastrophe
Novice
1,177 Views

Just a follow up on this thread, I am able to upgrade the OpenVINO and I already fixed my code.

I was able to run the code in the latest version but the error still occurs. 

 

Will there be a problem if the Core ie, Executable Network are declared as global variables?

Peh_Intel
Moderator
1,111 Views

Hi Catastrope,


Thanks for informing us.


We’re still investigating this issue. We’ll get back to you at the earliest.



Regards,

Peh


Catastrophe
Novice
1,083 Views

Thanks for investigating on the issue. I hope you'll be able to help me.

 

I am still trying to find some error logs in order to solve the issue. 

I hope you will let me post here new information that might help on the investigation.

 

1) "Duplicate id detected" errors frequently appear.

2) "WinUsb_WritePipe failed with error:=31u" also appears frequently.

3)  Wait Time for the request takes a lot of time when this error occurs.

4) I tried to force reset (bsl_reset.exe) of 1VPU~all VPUs and I got the WinUsb_WritePipe error.

     So I can confirm that the VPU is really reloading. And I need to know what are the possible reasons

     why MYRIAD/VPU are being forced to reset.

5) I have 2 guesses regarding where the VPU was being reset.

     Example: 

     1st Inference (4 patches) ~ 120ms 

     2nd Inference (4 patches) ~ 2000ms 

     ※After the processing the 1st Inference, VPU will reset so 2nd Inference will take a lot of time.

     ※After the StartAsync() of the 4 requests on the 2nd Inference, the error will occur and it will take a lot time.

 

If you  need other information please let me know so that I can also analyze here on my part as well. Thank you!

Peh_Intel
Moderator
1,060 Views

Hi Catastrope,


Please upgrade OpenVINO™ to 2021.4 and try again as there are some performance, accuracy, operations, and firmware fixes in this latest release.



Regards,

Peh


Catastrophe
Novice
1,051 Views

Yes, thank you for the update.

I am currently editing the sample source code (CPP) of the object detection demo (for YOLO).

 

Once I finish editing this code, I will perform a stress test and I will send the sample source code

and inputs that I will used if ever the same error will occur.

 

Thank you!

Catastrophe
Novice
1,038 Views

Hi! 

 

I am able to edit the source code of the object_detection_demo and upon trying to run the program, for a few iterations it worked

on CPU and MYRIAD plugins. But when I try to use the HDDL plugin, the program just runs until the "Loading model to the device" step.

It does not give me the same result of inference when running on the CPU/MYRIAD plugin.

 

Can you confirm that the HDDL will work on this demo? Thanks.

Peh_Intel
Moderator
1,025 Views

Hi Catastrope,


I’ve tested the Object Detection CPP demo (2021.4) with HDDL plugin. I also faced similar issue (segmentation fault) after loading model to the device. This seems to be unexpected. I have highlighted this issue to our developer and am waiting for their feedback.


In the meanwhile, I also tested the Object Detection CPP demo (2021.3) with HDDL plugin and this demo worked fine.



Regards,

Peh


Catastrophe
Novice
1,021 Views

Thanks for confirming the error.

 

For the meantime, I will be using the OpenVINO versions 2020.3.194 and 2021.3.394 since I need to make use of the HDDL Plugin.

 

Currently, I am using the sample source codes of the benchmark_app, object_detection_yolov3_async , object detection_demo as reference to generate a simple code. 

 

After that, I will perform a stress test. If the same error occurs, I will send the source code, inputs and error logs.

 

I hope you can also confirm if the same error will occur.

And I hope to determine the possible cause why the VPU causes a WinUSB error and reloads after. 

 

Again, thanks!

Peh_Intel
Moderator
861 Views

Hi Catastrope,


We’ve received your source codes, inputs and error logs in the private ticket previously. However, we’re still investigating the possible cause.


We will keep updating you on the private ticket. Hence, this thread will no longer be monitored.



Regards,

Peh


Reply