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

Error while using more than one Myriad X (failed to find device)

Dal_Ben__Mattia
Beginner
1,457 Views

Hi,

When I run an example from the inference_engine_samples folder while two Myriad X are installed on the system I get the following error:

./classification_sample \
    -i /opt/intel/computer_vision_sdk/deployment_tools/demo/../demo/car.png \
    -m /home/user_test/openvino_models/ir/FP16/classification/squeezenet/1.1/caffe/squeezenet1.1.xml \
    -d MYRIAD

[ INFO ] InferenceEngine: 
    API version ............ 1.4
    Build .................. 19154
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ]     /opt/intel/computer_vision_sdk/deployment_tools/demo/../demo/car.png
[ INFO ] Loading plugin

    API version ............ 1.5
    Build .................. 19154
    Description ....... myriadPlugin
[ INFO ] Loading network files:
    /home/user_test/openvino_models/ir/FP16/classification/squeezenet/1.1/caffe/squeezenet1.1.xml
    /home/user_test/openvino_models/ir/FP16/classification/squeezenet/1.1/caffe/squeezenet1.1.bin
[ INFO ] Preparing input blobs
[ WARNING ] Image is resized from (787, 259) to (227, 227)
[ INFO ] Batch size is 1
[ INFO ] Preparing output blobs
[ INFO ] Loading model to the plugin
E: [ncAPI] [    836858] ncDeviceOpen:870    failed to find device

[ INFO ] Starting inference (1 iterations)
[ INFO ] Processing output blobs

Top 10 results:

Image /opt/intel/computer_vision_sdk/deployment_tools/demo/../demo/car.png

817 0.8295898 label sports car, sport car
511 0.0961304 label convertible
479 0.0439453 label car wheel
751 0.0101318 label racer, race car, racing car
436 0.0074234 label beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon
656 0.0042267 label minivan
586 0.0029869 label half track
717 0.0018148 label pickup, pickup truck
864 0.0013924 label tow truck, tow car, wrecker
581 0.0006595 label grille, radiator grille


total inference time: 10.1886559
Average running time of one iteration: 10.1886559 ms

Throughput: 98.1483728 FPS

[ INFO ] Execution successful

 

System configuration:

  • Ubuntu 16.04
  • 2x UP AI Core X
  • Intel Xeon processor

From what I understand (as stated here), I should expect a speedup when using multiple devices but this doesn't happen.
Any idea?

0 Kudos
8 Replies
ae__viona
Beginner
1,457 Views

i have same issue -,-

0 Kudos
Dal_Ben__Mattia
Beginner
1,457 Views

Some more informations:

I used the benchmark application with the following:

./benchmark_app -i ~/Videos/people-walking-in-street2.jpg -m ~/openvino_models/ir/FP16/classification/squeezenet/1.1/caffe/squeezenet1.1.xml -d MYRIAD -api async

I got the following:

[ INFO ] InferenceEngine: 
	API version ............ 1.4
	Build .................. 19154
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ]     /home/user_test/Videos/people-walking-in-street2.jpg
[ INFO ] Loading plugin
[ INFO ] 
	API version ............ 1.5
	Build .................. 19154
	Description ....... myriadPlugin

[ INFO ] Loading network files
[ INFO ] Network batch size: 1, precision: FP32
[ INFO ] Preparing output blobs
[ INFO ] Loading model to the plugin
Opening device #0
I: [ncAPI] [    713788] ncDeviceSetOption:2358	Set watchdog interval to: 1000
I: [ncAPI] [    713788] ncDeviceOpen:806	ncDeviceOpen() XLinkBootRemote is running ...

W: [ncAPI] [    718887] ncDeviceOpen:819	ncDeviceOpen() XLinkBootRemote returned error X_LINK_COMMUNICATION_FAIL

E: [ncAPI] [    733887] ncDeviceOpen:870	failed to find device

I: [ncAPI] [    733887] ncDeviceDestroy:1226	Destroying Device

Opening device #1
I: [ncAPI] [    733887] ncDeviceSetOption:2358	Set watchdog interval to: 1000
I: [ncAPI] [    733887] ncDeviceOpen:806	ncDeviceOpen() XLinkBootRemote is running ...

I: [ncAPI] [    736048] ncDeviceOpen:821	ncDeviceOpen() XLinkBootRemote returned success X_LINK_SUCCESS

I: [xLink] [    736048] eventSchedulerRun:569	Scheduler thread started
I: [xLink] [    736048] eventReader:239	eventReader started
I: [ncAPI] [    736048] ncDeviceOpen:875	XLinkConnect done - link Id 1

I: [ncAPI] [    736049] ncDeviceOpen:888	Booted 3.1-ma2480 -> VSC

I: [ncAPI] [    737050] getDevAttributes:433	Device attributes

I: [ncAPI] [    737050] getDevAttributes:435	Device FW version: 444c4454.2480.0.0

I: [ncAPI] [    737050] getDevAttributes:436	Maximum graphs: 10

I: [ncAPI] [    737050] getDevAttributes:437	Maximum fifos: 20

I: [ncAPI] [    737050] getDevAttributes:438	Maximum graph option class: 1

I: [ncAPI] [    737050] getDevAttributes:439	Maximum device option class: 2

I: [ncAPI] [    737050] getDevAttributes:440	Device memory capacity: 521407664

Device #0 MYRIAD-X allocated
[VPU] GraphTransformer : blobSize=2502324
I: [ncAPI] [    737086] ncGraphAllocate:1333	Starting Graph allocation sequence

I: [ncAPI] [    737095] ncGraphAllocate:1401	Sent graph
I: [ncAPI] [    737133] ncGraphAllocate:1509	Graph allocation completed successfully

I: [ncAPI] [    737133] ncFifoCreate:2504	Init fifo
I: [ncAPI] [    737133] ncFifoAllocate:2692	Creating fifo
I: [ncAPI] [    737136] ncFifoCreate:2504	Init fifo
I: [ncAPI] [    737136] ncFifoAllocate:2692	Creating fifo
[ INFO ] Input dimensions (NCHW): 1 3 227 227 
[ WARNING ] Image is resized from (330, 237) to (227, 227)
[ INFO ] Input dimensions (NCHW): 1 3 227 227 
[ WARNING ] Image is resized from (330, 237) to (227, 227)
[ INFO ] Start inference asynchronously (60000 ms duration, 2 inference requests in parallel)

I: [ncAPI] [    737157] ncGraphQueueInference:3425	trigger start

I: [ncAPI] [    737159] ncGraphQueueInference:3551	trigger end

I: [ncAPI] [    737168] ncGraphQueueInference:3425	trigger start

I: [ncAPI] [    737169] ncGraphQueueInference:3551	trigger end

I: [ncAPI] [    737171] ncGraphQueueInference:3425	trigger start

I: [ncAPI] [    737172] ncGraphQueueInference:3551	trigger end

I: [ncAPI] [    737181] ncGraphQueueInference:3425	trigger start

I: [ncAPI] [    737182] ncGraphQueueInference:3551	trigger end

I: [ncAPI] [    737183] ncGraphQueueInference:3425	trigger start

...

Looking at dmesg:

~$ dmesg -w
[15457.651660] usb 3-1: USB disconnect, device number 5
[15457.959137] usb 4-1: new SuperSpeed USB device number 5 using xhci_hcd
[15457.976090] usb 4-1: New USB device found, idVendor=03e7, idProduct=f63b
[15457.976097] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15457.976101] usb 4-1: Product: VSC Loopback Device
[15457.976106] usb 4-1: Manufacturer: Intel Corporation
[15457.976109] usb 4-1: SerialNumber: 00000000000000000
[15473.894862] usb 3-1: new high-speed USB device number 6 using xhci_hcd
[15474.023576] usb 3-1: New USB device found, idVendor=03e7, idProduct=2485
[15474.023585] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15474.023590] usb 3-1: Product: Movidius MyriadX
[15474.023595] usb 3-1: Manufacturer: Movidius Ltd.
[15474.023600] usb 3-1: SerialNumber: 03e72485
[15474.406951] usb 4-1: USB disconnect, device number 5

Any clue about this?

0 Kudos
Hyodo__Katsuya
Innovator
1,457 Views
@Dal Ben, Mattia @ae, viona When using OpenVINO, multiple MYRIAD will not operate simultaneously unless you write your own MultipleStick program. It is a sample of Python, but I implemented MultipleStick in my repository. I am glad if it becomes helpful. https://github.com/PINTO0309/MobileNet-SSD-RealSense.git https://github.com/PINTO0309/OpenVINO-YoloV3.git
0 Kudos
Dal_Ben__Mattia
Beginner
1,457 Views

Great! Tomorrow I'll give it a shot. Thank you.

0 Kudos
Dal_Ben__Mattia
Beginner
1,457 Views

Hi,

I'm still getting the same error when using a single NCS stick. But then I tried using two and got this:

python3 MultiStickSSDwithRealSense_OpenVINO_NCS2.py -mod 1 -numncs 2
E: [ncAPI] [    908518] ncDeviceOpen:870	failed to find device

Process Process-2:
Traceback (most recent call last):
  File "/usr/lib/python3.5/multiprocessing/process.py", line 249, in _bootstrap
    self.run()
  File "/usr/lib/python3.5/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/home/user_test/Desktop/openvino_workspace/MobileNet-SSD-RealSense/MultiStickSSDwithRealSense_OpenVINO_NCS2.py", line 254, in inferencer
    thworker = threading.Thread(target=async_infer, args=(NcsWorker(devid, frameBuffer, results, camera_mode, camera_width, camera_height, number_of_ncs, vidfps, skpfrm),))
  File "/home/user_test/Desktop/openvino_workspace/MobileNet-SSD-RealSense/MultiStickSSDwithRealSense_OpenVINO_NCS2.py", line 188, in __init__
    self.exec_net = self.plugin.load(network=self.net, num_requests=self.num_requests)
  File "ie_api.pyx", line 389, in openvino.inference_engine.ie_api.IEPlugin.load
  File "ie_api.pyx", line 400, in openvino.inference_engine.ie_api.IEPlugin.load
RuntimeError: Can not init USB device: NC_DEVICE_NOT_FOUND

Have you ever encountered something like this?

0 Kudos
Hyodo__Katsuya
Innovator
1,457 Views
The same error occurred when I forgot to insert Intel Neural Compute Stick in my computer. I do not know the reason why UP AI Core X does not work well... - My environment RaspberryPi3 Intel Neural Compute Stick 1 x5 or Intel Neural Compute Stick 2 x2 Self-Powered USB 2.0 Hub #--It is necessary to compensate for lack of voltage
0 Kudos
Dal_Ben__Mattia
Beginner
1,457 Views

Thanks, I'll investigate this.

0 Kudos
Dal_Ben__Mattia
Beginner
1,457 Views

@Hyodo, Katsuya

I ran your OpenVINO-YoloV3 demo with OpenVINO R5.0.1 and it works with two UP AI Cores. It works!

0 Kudos
Reply