Open adtrytech opened 3 years ago
Hi @adtrytech. Yes, it can.
You need to update the env variable OPENVINO_ACCL
to the value MYRIAD
or CPU_MYRIAD
to have alternating processing through VPU & CPU. More details at this section.
Hi @amr-mokhtar,
Thanks for your support. I ran the command directly(not follow the producer and consumer rule) and I were failed by using the PCIE card "Intel® Movidius™ Myriad™ X VPU" hardware accelerator.
Below are my procedures and hope you can help me on this. I need to utilize this PCIE card successfully.
[06:12:34.3317][4713]ERROR[AutobootStarter.cpp:48] Error: Failed to start autoboot [06:12:34.3317][4713]ERROR[main.cpp:76] Error: Start Service failed due to autoboot failure [ion_close][69]close ion_fd = -1 [06:14:04.4606][4709]ERROR[ServiceStarter.cpp:55] Error: Wait HDDL Service Ready failed. [06:14:04.4609][4709]ERROR[ServiceStarter.cpp:29] Error: Failed to start HDDL Service [06:14:04.4609][4709]ERROR[HddlClient.cpp:215] Error: Failed to boot service.
[06:14:04.4611][4709]I[HddlClient.cpp:203] Info: Hddl client unregistered. [ ERROR ] _client->query(QUERY_TYPE_DEVICE, &query) failed: HDDL_NOT_INITIALIZED
Hi @amr-mokhtar,
Provide the HOST OS information and I just deployed the OpenNESS and utilized its sample applications. It means there is no other extra installation such as OpenVINO on the HOST.
[root@en01 ~]# cat /etc/centos-release CentOS Linux release 7.8.2003 (Core)
[root@en01 ~]# uname -a Linux en01 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Hi @adtrytech. I see that you are using HDDL.
For HDDL, you need to enable HDDL service by setting variable ne_hddl_enable: true
in the converged-edge-experience-kits/inventory/default/group_vars/all/10-default.yml
before running CEEK playbooks.
More details at Using Intel® Movidius™ Myriad™ X High Density Deep Learning (HDDL) solution in OpenNESS document.
Hi @amr-mokhtar,
Thanks for your support. I took some time to redeploy the OpenNESS with enabling the parameter "ne_hddl_enable: true". But, unfortunately I still got failed on using the HDDL device for inference. Do you have any suggestion or anything I should provide and check? Thank you!
At the openvino consumer APP, I got the same error message attached before with the same command: /root/omz_demos_build/intel64/Release/object_detection_demo_ssd_async -d HDDL -i rtp://127.0.0.1:5000?overrun_nonfatal=1 -m pedestrian-detection-adas-0002/FP16/pedestrian-detection-adas-0002.xml
At the edge node equipped with HDDL device, the HDDL daemon was started normally. I built the drv_ion and install it to the edge node. [root@en01 drv_ion]# ls /dev/ion /dev/ion
[root@en01 ~]# ps ax | grep hddl 40941 ? Ssl 0:00 /usr/local/bin/docker run --name ov_hddl --rm --device-cgroup-rule=c 10: rmw --device-cgroup-rule=c 89: rmw --device-cgroup-rule=c 189: rmw --device-cgroup-rule=c 180: rmw -v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /etc/modules-load.d:/etc/modules-load.d -v /dev:/dev -v /var/tmp:/var/tmp openvisualcloud/openness-ubuntu1804-analytics-hddldaemon /usr/local/bin/run_hddl.sh 41449 ? Ss 0:00 /bin/bash /usr/local/bin/run_hddl.sh 42239 ? Sl 0:28 ./hddldaemon 42244 ? Sl 0:00 /opt/intel/openvino/deployment_tools/inference_engine/external/hddl/bin/autoboot --auxiliary 66831 pts/2 S+ 0:00 grep --color=auto hddl
@adtrytech could you show us the deploy logs and your oek commit?
[04:58:57.8865][45]I[DeviceManager.cpp:916] DeviceSnapshot(subclass=0): | deviceId | 6(0x6) | 5(0x5) | 4(0x4) | 3(0x3) | 2(0x2) | 1(0x1) | 0(00) | 7(0x7) | | device | 10.1 | 8.2 | 8.1 | 6.2 | 6.1 | 4.2 | 4.1 | 10.2 | | util% | 0.0 % | 0.0 % | 0.0 % | 0.0 % | 0.0 % | 0.0 % | 0.0 % | 0.0 % | | thermal | 41.66(0) | 46.45(0) | 47.80(0) | 41.66(0) | 40.97(0) | 42.81(0) | 40.97(0) | 41.43(0) | | scheduler | squeeze | squeeze | squeeze | squeeze | squeeze | squeeze | squeeze | squeeze | | comment | | | | | | | | | | resetTimes | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | cacheNum | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | cacheGraph0 | | | | | | | | | | cacheGraph1 | | | | | | | | | | cacheGraph2 | | | | | | | | | | cacheGraph3 | | | | | | | | | +-------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-----------
to be sure your hddl card is pulg in: lspci | grep USB 00:14.0 USB controller: Intel Corporation C620 Series Chipset Family USB 3.0 xHCI Controller (rev 09) 1b:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller 1c:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller 1e:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller 1f:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller
to get the VPU info in HDDL: lsusb | grep "Myriad VPU" Bus 010 Device 002: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 010 Device 003: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 008 Device 002: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 008 Device 003: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 006 Device 002: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 006 Device 003: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 004 Device 002: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 004 Device 003: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick]
Hi mcping,
Sorry for I don't realize the meaning of "oek commit". Could you please describe it more detailed? Thank you! By the way, I didn't install the OpenVINO toolkits on the edge node(host name: en01) that was equipped with VPU PCIE Cards.
Deploy Logs: I deployed the OpenNESS several times to complete it eventually. So, there was three log files of this deployment. 2021-04-06_01-20-52_ansible.log 2021-04-06_01-57-20_ansible.log 2021-04-06_02-09-19_ansible.log
You should have myriad0-7 dev which are vpus in HDDL card. [root@en01 ~]# ls /dev autofs crash hidraw1 ipmi0 mei0 net ptp0 sda2 tty0 tty19 tty29 tty39 tty49 tty59 ttyS1 usbmon4 vcs5 vhci block disk hidraw2 kmsg mem network_latency ptp1 serial tty1 tty2 tty3 tty4 tty5 tty6 ttyS2 usbmon5 vcs6 vhost-net bsg dm-0 hidraw3 kvm mqueue network_throughput ptp2 sg0 tty10 tty20 tty30 tty40 tty50 tty60 ttyS3 usbmon6 vcsa watchdog btrfs-control dm-1 hidraw4 log myriad0 null ptp3 shm tty11 tty21 tty31 tty41 tty51 tty61 uhid usbmon7 vcsa1 watchdog0 bus dm-2 hpet loop-control myriad1 nvram pts snapshot tty12 tty22 tty32 tty42 tty52 tty62 uinput usbmon8 vcsa2 zero centos dri hugepages lp0 myriad2 oldmem random snd tty13 tty23 tty33 tty43 tty53 tty63 urandom usbmon9 vcsa3 char fb0 hwrng lp1 myriad3 port raw stderr tty14 tty24 tty34 tty44 tty54 tty7 usbmon0 vcs vcsa4 console fd i2c-0 lp2 myriad4 ppp rtc stdin tty15 tty25 tty35 tty45 tty55 tty8 usbmon1 vcs1 vcsa5 core full i2c-1 lp3 myriad5 pps0 rtc0 stdout tty16 tty26 tty36 tty46 tty56 tty9 usbmon10 vcs2 vcsa6 cpu fuse initctl mapper myriad6 pps1 sda termination-log tty17 tty27 tty37 tty47 tty57 ttyACM0 usbmon2 vcs3 vfio cpu_dma_latency hidraw0 input mcelog myriad7 ptmx sda1 tty tty18 tty28 tty38 tty48 tty58 ttyS0 usbmon3 vcs4 vga_arbiter
docker logs ov_hddl should as below: Please refer to the file: hddl_docker_log.txt hddl_docker_log.txt
to be sure your hddl card is pulg in: [root@en01 ~]# lspci | grep USB 00:14.0 USB controller: Intel Corporation C620 Series Chipset Family USB 3.0 xHCI Controller (rev 09) 8a:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) 8b:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) 8c:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) 8d:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)
to get the VPU info in HDDL: [root@en01 ~]# lsusb | grep "Myriad VPU" Bus 010 Device 002: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 010 Device 003: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 008 Device 002: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 008 Device 003: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 006 Device 002: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 006 Device 003: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 004 Device 002: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick] Bus 004 Device 003: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick]
I just want to know the version of openness-experience-kits, which you are using. I can see it in the deply log now. Can you give me the lsusb and ls /dev lspci info? thanks. To be sure your have the HDDL card for I am not very clear about 'VPU PCIE Cards' you mentioned. You don't need to install OpenVINO on the host(node).
Hi mcping,
Regarding the "lsusb and ls /dev lspci info", please refer to my previous responses. I checked it on the edge node which is equipped with HDDL card. The "VPU PCIE Card" is equal to HDDL card. FYI. Sorry for confusing.
Is the "drv_ion" driver required by the HDDL host node?
your hddldeamon is normal showed by the logs. drv_ion is not needed.
Hi mcping,
OK. So, just deploy the OpenNESS with enabling the parameter "ne_hddl_enable: true", righ? If the answer is YES, please help to resolve why I can't execute the openvino sample code at the edge node. Thank you!
which openvino version are you using? l_openvino_toolkit_p_2020.2.120? or l_openvino_toolkit_p_2019.3.334? I use l_openvino_toolkit_p_2021.1.110 and I can not find object_detection_demo_ssd_async ls -al total 2480 drwxr-xr-x. 3 root root 4096 Apr 20 11:28 . drwxr-xr-x. 3 root root 21 Apr 20 11:27 .. -rwxr-xr-x. 1 root root 486336 Apr 20 11:27 benchmark_app -rwxr-xr-x. 1 root root 307656 Apr 20 11:27 classification_sample_async -rwxr-xr-x. 1 root root 181168 Apr 20 11:27 hello_classification -rwxr-xr-x. 1 root root 156584 Apr 20 11:27 hello_nv12_input_classification -rwxr-xr-x. 1 root root 60784 Apr 20 11:27 hello_query_device -rwxr-xr-x. 1 root root 178320 Apr 20 11:28 hello_reshape_ssd drwxr-xr-x. 2 root root 62 Apr 20 11:27 lib -rwxr-xr-x. 1 root root 354904 Apr 20 11:28 ngraph_function_creation_sample -rwxr-xr-x. 1 root root 263984 Apr 20 11:28 object_detection_sample_ssd -rwxr-xr-x. 1 root root 282584 Apr 20 11:28 speech_sample -rwxr-xr-x. 1 root root 243792 Apr 20 11:27 style_transfer_sample
pedestrian-detection-adas-0002 for this model, do you download it manually?
can you try to run /root/inference_engine_samples_build/intel64/Release/classification_sample_async -i /opt/intel/openvino_2021/deployment_tools/demo/car.png -m /root/openvino_models/ir/public/squeezenet1.1/FP16/squeezenet1.1.xml -d HDDL to verify that your HDDL works. This is a simple demo model for test.
Hi @mcping,
After upgrading to the latest version, it can utilize the HDDL device. Thank you !
Hi Teams,
Can the OpenVINO sample code support VPU acceleration? And, How to achieve it?
Thank You!