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.

2019R3 myriad plugin does not work with Myriad X PCIe board

OKI__HIdetaka
New Contributor I
1,215 Views

Hi,

I have problem to run 2019R3 myriad plugin with PCI boards. I can run the same sample program with NCS2 USB stick and there is no problem to run 2019R2 with both NCS2 and PCIe boards.

Error symptom :

Xeon server + Mustang-V100-MX8 + openvino_2019.3.344 binary package

--------

$ ~/inference_engine_samples_build/intel64/Release/classification_sample_async -m ~/openvino_models/ir/FP16/public/squeezenet1.1/squeezenet1.1.xml -i /opt/intel/openvino/deployment_tools/demo/car.png -d MYRIAD
[ INFO ] InferenceEngine:
        API version ............ 2.1
        Build .................. custom_releases/2019/R3_cb6cad9663aea3d282e0e8b3e0bf359df665d5d0
        Description ....... API
[ INFO ] Parsing input parameters
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ]     /opt/intel/openvino/deployment_tools/demo/car.png
[ INFO ] Creating Inference Engine
        MYRIAD
        myriadPlugin version ......... 2.1
        Build ........... 30677

[ INFO ] Loading network files
[ INFO ] Preparing input blobs
[ WARNING ] Image is resized from (787, 259) to (227, 227)
[ INFO ] Batch size is 1
[ INFO ] Loading model to the device
E: [ncAPI] [    429564] [classification_] ncDeviceOpen:859      Device doesn't appear after boot
[ ERROR ] Can not init Myriad device: NC_ERROR

--------

ARM64 box + AI Core XM2280 + openvino built for aarch64 from the source cloned on Oct 4th

--------

$ ~/inference_engine_samples_build/arm64/Release/classification_sample_async -m ~/openvino_models/ir/FP16/public/squeezenet1.1/squeezenet1.1.xml -i /opt/intel/openvino/deployment_tools/demo/car.png -d MYRIAD

[ INFO ] InferenceEngine:
        API version ............ 2.1
        Build .................. custom_master_adc0d2784e316837c67cc30d85dfd23a44928131
        Description ....... API
[ INFO ] Parsing input parameters
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ]     /opt/intel/openvino/deployment_tools/demo/car.png
[ INFO ] Creating Inference Engine
        MYRIAD
        myriadPlugin version ......... 2.1
        Build ........... custom_master_adc0d2784e316837c67cc30d85dfd23a44928131

[ INFO ] Loading network files
[ INFO ] Preparing input blobs
[ WARNING ] Image is resized from (787, 259) to (227, 227)
[ INFO ] Batch size is 1
[ INFO ] Loading model to the device
E: [ncAPI] [    168581] [classification_] ncDeviceOpen:854      Failed to find booted device after boot
[ ERROR ] Can not init Myriad device: NC_ERROR

--------

It seems that there is some issue to initializing Myriad X device, and I am now look into  plugin source code. I can find "Failed to find booted device after boot" string in dldt/inference-engine/thirdparty/movidius/mvnc/src/mvnc_api.c but I cannot find "Device doesn't appear after boot"  sring in the cloned source tree.

Does anyone look at the issue?

Regards,

 

0 Kudos
9 Replies
KWEK__PENG_HONG
Beginner
1,215 Views

I am having the same issue as well.

Run ./security_barrier_camera_demo -d myriad -d_va myriad -d_lpr myriad -i /opt/intel/openvino_2019.3.334/deployment_tools/demo/car_1.bmp -m /home/ubuntu/openvino_models/ir/FP16/intel/vehicle-license-plate-detection-barrier-0106/FP16/vehicle-license-plate-detection-barrier-0106.xml -m_lpr /home/ubuntu/openvino_models/ir/FP16/intel/license-plate-recognition-barrier-0001/FP16/license-plate-recognition-barrier-0001.xml -m_va /home/ubuntu/openvino_models/ir/FP16/intel/vehicle-attributes-recognition-barrier-0039/FP16/vehicle-attributes-recognition-barrier-0039.xml

[ INFO ] InferenceEngine:
    API version ............ 2.1
    Build .................. custom_releases/2019/R3_cb6cad9663aea3d282e0e8b3e0bf359df665d5d0
    Description ....... API
[ INFO ] Files were added: 1
[ INFO ]     /opt/intel/openvino_2019.3.334/deployment_tools/demo/car_1.bmp
[ INFO ] Loading device myriad
    myriad
    myriadPlugin version ......... 2.1
    Build ........... 30677

[ INFO ] Loading detection model to the myriad plugin
E: [ncAPI] [    208269] [security_barrie] ncDeviceOpen:859    Device doesn't appear after boot
[ ERROR ] Can not init Myriad device: NC_ERROR
Error on or near line 210; exiting with status 1

 

Is there anyone that can help this out.

 

Thank you

0 Kudos
Shubha_R_Intel
Employee
1,215 Views

Dear KWEK, PENG HONG and OKI, HIdetaka,

I will file a bug on both of your behalf.

 Sorry for the inconvenience you are facing. I will keep you up-to-date on this forum.

Thanks,

Shubha

0 Kudos
Demborynski__Bill
1,215 Views

Create a Ubuntu 18.04.3 LTS VM 2vCPU/w4Gb using VMWorkstation 15.5 on Win10 i7(4C/8T) w/16Gb -6th Gen and installed OpenVINO R3 and demos work with out NCS2.

Requirements: software.intel.com/en-us/openvino-toolkit/documentation/system-requirements

Note: NCS2 Requirements Ubuntu 16.04 (which I assume might now be out of date with OpenVINO R3 just released):

https://docs.openvinotoolkit.org/2019_R2/_docs_install_guides_installing_openvino_linux.html#install-external-dependencies

Then attached NCS2 to USB and VMWare prompts to connect to Ubuntu 18

Tried:

./demo_squeezenet_download_convert_run.sh -d MYRIAD

and

sudo -E ./demo_squeezenet_download_convert_run.sh -d MYRIAD

Resulting with error  and being prompted to attach VSC Loopback

 

Run Inference Engine classification sample

Run ./classification_sample_async -d MYRIAD -i /opt/intel/openvino/deployment_tools/demo/car.png -m /home/bill/openvino_models/ir/FP16//public/squeezenet1.1/squeezenet1.1.xml

[ INFO ] InferenceEngine:
    API version ............ 2.1
    Build .................. custom_releases/2019/R3_cb6cad9663aea3d282e0e8b3e0bf359df665d5d0
    Description ....... API
[ INFO ] Parsing input parameters
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ]     /opt/intel/openvino/deployment_tools/demo/car.png
[ INFO ] Creating Inference Engine
    MYRIAD
    myriadPlugin version ......... 2.1
    Build ........... 30677

[ INFO ] Loading network files
[ INFO ] Preparing input blobs
[ WARNING ] Image is resized from (787, 259) to (227, 227)
[ INFO ] Batch size is 1
[ INFO ] Loading model to the device
E: [ncAPI] [    203432] [classification_] ncDeviceOpen:859    Device doesn't appear after boot
[ ERROR ] Can not init Myriad device: NC_ERROR
Error on or near line 239; exiting with status 1

0 Kudos
Shubha_R_Intel
Employee
1,215 Views

Dear folks:

there is zero chance for users to have a native PCIe board. Currently no such boards exist on the market yet.

In particular Mustang-V100-MX8 from this forum post is the HDDL-R8 card and it works as a USB over PCIe device. 

So you must either follow the HDDL or USB Myriad-X setup instructions to get things to work properly.

Thanks for your patience !

Shubha

0 Kudos
Chakravarthy__Aditya
1,215 Views

I am getting the same error

Running ./benchmark_app -m ~/intel/openvino/deployment_tools/tools/model_downloader/public/vgg16/FP16/vgg16.xml -i input1.jpg -d MYRIAD
[Step 1/11] Parsing and validating input arguments
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ]     input1.jpg
[ WARNING ] -nstreams default value is determined automatically for a device. Although the automatic selection usually provides a reasonable performance,but it still may be non-optimal for some cases, for more information look at README.

[Step 2/11] Loading Inference Engine
[ INFO ] InferenceEngine:
    API version ............ 2.1
    Build .................. custom_releases/2019/R3_cb6cad9663aea3d282e0e8b3e0bf359df665d5d0
    Description ....... API
[ INFO ] Device info:
    MYRIAD
    myriadPlugin version ......... 2.1
    Build ........... 30677

[Step 3/11] Reading the Intermediate Representation network
[ INFO ] Loading network files
[ INFO ] Read network took 1821.21 ms
[Step 4/11] Resizing network to match image sizes and given batch
[ INFO ] Network batch size: 1, precision: FP16
[Step 5/11] Configuring input of the model
[Step 6/11] Setting device configuration
[Step 7/11] Loading the model to the device
W: [ncAPI] [    398792] [benchmark_app] ncDeviceOpen:651    Failed to find a device, rc: X_LINK_DEVICE_NOT_FOUND
[ ERROR ] Can not init Myriad device: NC_ERROR

I have followed all the installation steps with the Myriad Plugin but still getting this error
Can this issue be solved?

Thanks

0 Kudos
Sahira_Intel
Moderator
1,215 Views

Hi Aditya,

Can you please provide the specs of your system so that I can reproduce this issue?

Best Regards,

Sahira 

0 Kudos
Chakravarthy__Aditya
1,215 Views

Hi

I am running OpenVINO 2019 R3 on Ubuntu Linux 16.04
Intel Core i5 6500 CPU
Intel HD graphics 530 GPU

I am using the Intel Movidius MV0235 board with MA2485 Myriad X connected via ARM-USB-TINY-H JTAG

Aditya

0 Kudos
OKI__HIdetaka
New Contributor I
1,215 Views

Hi,

I understand that available Myriad X PCIe boards use PCIe-USB bridge device and I suppose required configuration should be set.

I have not yet solve the issue, but I aquire some additional information for further investigation.

> ARM64 box + Two AI Core XM2280 boards + openvino built for aarch64 from the source cloned on Oct 4th

ARM64 box + Two Mustang-M2BM-MX2 +  openvino built for aarch64 from the source cloned on Oct 4th

I replaced AAEON borads to IEI boards for deploying AAEON board to thermal environment evaluation, and error symptom is same.

I noticed that the sample program runs fine when installing only one M.2 boads. But the error occurs when adding one more M.2 board.

line 925 in dldt/inference-engine/thirdparty/movidius/mvnc/src/mvnc_api.c

--------

            // Device should disappear from unbooted list
            if (X_LINK_DEVICE_NOT_FOUND != XLinkFindFirstSuitableDevice(
                                                    X_LINK_ANY_STATE,
                                                    deviceDescToBoot,
                                                    &tempDevicDescr)) {
                continue;
            } else {
                device_disappear = 1;
            }

--------

With one M.2 board XLinkFindFirstSuitableDevice() returns X_LINK_DEVICE_NOT_FOUND, but it returns X_LINK_SUCCESS with two boards and do loop (from line 817 to line 851) contimues untill timeout.

WIth one board - two Myriad X, beforeBootDevices[].name are  "4-ma2480", "1-ma2480", and afterBootDevices[].name are "4-", "1-ma2480".

WIth two boards - four Myriad X, beforeBootDevices[].name are  "4-ma2480", "1-ma2480",  "4-ma2480", "1-ma2480", and afterBootDevices[].name are "4-", "1-ma2480", "4-ma2480", "1-ma2480".  Mustang- M2BM-MX2 board has ID dip switch and I set different ID for each board. DeviceDesc.name are duplicated, but I am not sure it would affect the issue.

 

Regarding Xeon server + Mustang-V100-MX8 I have been trying to run with additional mvLog() , but inference engine compiled from github source does not run with the popular  "/opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libinference_engine.so: undefined symbol: _ZN3tbb10interface78internal15task_arena_base24internal_max_concurrencyEPKNS0_10task_arenaE" error somehow. I am now trying to fix it first. 

Regards,

 

0 Kudos
OKI__HIdetaka
New Contributor I
1,215 Views

Hi,

I tried 2019R3.1 and compiled dldt cloned on Oct 30th. The result is same as 2019R3 case.

When running myriad Plugin on Xeon server (HPE Proliat DL380 Gen10) + Mustang-V100-MX8,
XLinkFindFirstSuitableDevice() at line 833 in dldt/inference-engine/thirdparty/mvnc/src/mvnc_api.c
returns  X_LINK_SUCCESS , and do-while loop line 824-856 continues until timeout.

beforeBootDevices[].name are :
"2-ma2480" ,
"1-ma2480" ,
"2-ma2480" ,
"1.3-ma2480" ,
"2-ma2480" ,
"1-ma2480" ,
"2-ma2480" ,
"1-ma2480"

and afterBootDevices[].name are :
"2-" ,
"1-ma2480" ,
"2-ma2480" ,
"1.3-ma2480" ,
"2-ma2480" ,
"1-ma2480" ,
"2-ma2480" ,
"1-ma2480" ,
----

Regards,

 

0 Kudos
Reply