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.
6404 Discussions

Failed to create openvino inference engine on GPU-"failed to create engine: clGetPlatformIDs error -1001"

Yuanjie_B_Intel
Employee
3,790 Views

Error is below:

command:  ~/dldt/inference-engine/bin/intel64/Release$ ./object_detection_sample_ssd -i ~/computer_vision_sdk_2018.3.343/deployment_tools/demo/car_1.bmp -m ~/dldt/model_optimizer/frozen_inference_graph.xml -d GPU

result:
[ INFO ] InferenceEngine:
        API version ............ 1.4
        Build .................. custom_2018_91160e65cf66e7fbc709245a8ba948a4c555e443
Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ]     /opt/intel/computer_vision_sdk_2018.3.343/deployment_tools/demo/car_1.bmp
[ INFO ] Loading plugin

        API version ............ 1.4
        Build .................. custom_2018_91160e65cf66e7fbc709245a8ba948a4c555e443
        Description ....... clDNNPlugin
[ INFO ] Loading network files:
        /home/yuanjie/dldt/model_optimizer/frozen_inference_graph.xml
        /home/yuanjie/dldt/model_optimizer/frozen_inference_graph.bin
[ INFO ] Preparing input blobs
[ INFO ] Batch size is 1
[ INFO ] Preparing output blobs
[ INFO ] Loading model to the plugin
[ ERROR ] failed to create engine: clGetPlatformIDs error -1001

 

I have finished environment config according to https://software.intel.com/en-us/articles/OpenVINO-Install-Linux#gpu-steps and build according to steps in https://github.com/opencv/dldt/blob/2018/inference-engine/README.md.

I attach my GPU information and inference engine version in case you need

0 Kudos
31 Replies
nikos1
Valued Contributor I
802 Views

Thank you! Yes, it seems it is a Core(TM) i7-4790 CPU @ 3.60GHz CPU and has an OpenCL GPU. It reports GPU: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller which is confusing but correct as it is a 4th gen iGPU.

Please try a new kernel if possible.

Actually I have the same motherboard in my lab and a similar but not identical CPU and will try this weekend to install from scratch and test. It should work fine on GPU but on the slow side.

Nikos

 

 

0 Kudos
Yuanjie_B_Intel
Employee
802 Views

nikos wrote:

Thank you! Yes, it seems it is a Core(TM) i7-4790 CPU @ 3.60GHz CPU and has an OpenCL GPU. It reports GPU: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller which is confusing but correct as it is a 4th gen iGPU.

Please try a new kernel if possible.

Actually I have the same motherboard in my lab and a similar but not identical CPU and will try this weekend to install from scratch and test. It should work fine on GPU but on the slow side.

Nikos

 

 

Hi Nikos,

I appreciate your help very much! I will try a new kernel.

I am glad to hear that you will try the same motherboard with a similar CPU. It is very nice of you. I hope I can communicate on progress with you.

Thanks,

Yuanjie

0 Kudos
Yuanjie_B_Intel
Employee
802 Views

nikos wrote:

Thank you! Yes, it seems it is a Core(TM) i7-4790 CPU @ 3.60GHz CPU and has an OpenCL GPU. It reports GPU: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller which is confusing but correct as it is a 4th gen iGPU.

Please try a new kernel if possible.

Actually I have the same motherboard in my lab and a similar but not identical CPU and will try this weekend to install from scratch and test. It should work fine on GPU but on the slow side.

Nikos

 

 

Hi Nikos,

I have installed kernel 4.15.0-041500-generic and tried both the NEO driver and SRB5.0. Unfortunately, I got the same result as before I attached, that is:

clinfo returns no GPU devices on platform when using an NEO driver; 

clinfo returns no platform after installation of SRB5.0.

Thanks,

Yuanjie

0 Kudos
nikos1
Valued Contributor I
802 Views

Hello Yuanjie,

Thank you for the update! Good to know.

Let's see what I can find from my system that I will set up this weekend.

Nikos

0 Kudos
nikos1
Valued Contributor I
802 Views

Hello Yuanjie,

Success, I can see the OpenCL GPU device.  As I mentioned I found the same motherboard ( Z97X-UD5H ) in my lab and a very similar CPU ( Core i7 4770K ).  I installed the latest 16.0.4 iso ( ubuntu-16.04.5-desktop-amd64.iso ). The kernel is 

Linux Z97X-UD5H 4.15.0-43-generic #46~16.04.1-Ubuntu SMP Fri Dec 7 13:31:08 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

The GPU seems to be the same as yours

description: VGA compatible controller
       product: Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 06
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:29 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64) memory:c0000-dffff

Clinfo can find both CPU and GPU device.

nikos@Z97X-UD5H:~/SRB5.0_linux64$ clinfo 
Number of platforms                               1
  Platform Name                                   Intel(R) OpenCL
  Platform Vendor                                 Intel(R) Corporation
  Platform Version                                OpenCL 1.2 
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
  Platform Extensions function suffix             INTEL

  Platform Name                                   Intel(R) OpenCL
Number of devices                                 2
  Device Name                                     Intel(R) HD Graphics
  Device Vendor                                   Intel(R) Corporation
  Device Vendor ID                                0x8086
  Device Version                                  OpenCL 1.2 
  Driver Version                                  r5.0.63503
  Device OpenCL C Version                         OpenCL C 1.2 
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Max compute units                               20
  Max clock frequency                             0MHz
 

I did not have to do many things just use the SRB5.0_linux64.zip package as this is and older GPU not supported by NEO

wget http://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip
unzip SRB5.0_linux64.zip -d SRB5.0_linux64
cd SRB5.0_linux64
sudo apt-get install xz-utils
mkdir intel-opencl
tar -C intel-opencl -Jxf intel-opencl-r5.0-63503.x86_64.tar.xz
tar -C intel-opencl -Jxf intel-opencl-devel-r5.0-63503.x86_64.tar.xz
tar -C intel-opencl -Jxf intel-opencl-cpu-r5.0-63503.x86_64.tar.xz
sudo cp -R intel-opencl/* /
sudo ldconfig

 

One more thing I did before - not sure if it is needed or not - you may want to try the following

wget https://download.01.org/gfx/ubuntu/16.04/main/pool/main/i/intel-graphics-update-tool/intel-graphics-update-tool_2.0.2_amd64.deb

sudo dpkg -i intel-graphics-update-tool_2.0.2_amd64.deb

sudo /usr/bin/intel-graphics-update-tool

 

 

Good luck! Let us know if you can also get the GPU device to appear in your clinfo

Cheers,

Nikos

0 Kudos
nikos1
Valued Contributor I
802 Views

Forgot to mention I also flashed the latest BIOS version F10 to the Z97X-UD5H, enabled Intel graphics, and set it as the primary display (as I also had a discrete GPU on this system). It should not matter in your case but better to get the latest F10 BIOS just in case.

[ Also the OpenCL forum in https://software.intel.com/en-us/forums/opencl has some good information. ]

 

0 Kudos
nikos1
Valued Contributor I
802 Views

The bad news is that although we can solve the OpenCL issue ( and fix [ ERROR ] failed to create engine: clGetPlatformIDs error -1001 ) we then hit another error:

[ ERROR ] failed to create engine: No OpenCL device found which would match provided configuration:
    Intel(R) HD Graphics: missing out of order support

This can be confirmed by clinfo

  Queue properties
    Out-of-order execution             No
    Profiling                                   Yes

On this older GPU we cannot enable out-of-order execution (   https://software.intel.com/en-us/articles/opencl-out-of-order-queue-on-intel-processor-graphics  ) and then we get the clDNN error in line 111 of 

https://github.com/opencv/dldt/blob/55a41d7570f78aaea0d6764d157dd7434730d56f/inference-engine/thirdparty/clDNN/src/gpu/ocl_toolkit.cpp

So, although the GPU can run OpenCL 1.2 code it does not support all features required by clDNN and OpenVino will not be able to use it. 

Sorry about that,

Nikos

  

 

0 Kudos
Yuanjie_B_Intel
Employee
802 Views

nikos wrote:

The bad news is that although we can solve the OpenCL issue ( and fix [ ERROR ] failed to create engine: clGetPlatformIDs error -1001 ) we then hit another error:

[ ERROR ] failed to create engine: No OpenCL device found which would match provided configuration:
    Intel(R) HD Graphics: missing out of order support

This can be confirmed by clinfo

  Queue properties
    Out-of-order execution             No
    Profiling                                   Yes

On this older GPU we cannot enable out-of-order execution (   https://software.intel.com/en-us/articles/opencl-out-of-order-queue-on-i...  ) and then we get the clDNN error in line 111 of 

https://github.com/opencv/dldt/blob/55a41d7570f78aaea0d6764d157dd7434730...

So, although the GPU can run OpenCL 1.2 code it does not support all features required by clDNN and OpenVino will not be able to use it. 

Sorry about that,

Nikos

  

 

Hi Nikos,

Thank you very much. I am grateful that you have tried the same motherboard with a similar CPU and have given me the answer.

Inspired by you, I will buy a new machine. I was wondering if

"

All recent Core CPUs and also Atom and Xeon E3V3/4/5 have GPUs  and should work fine.

If in doubt check your CPU model in the Intel ark tool

https://ark.intel.com/Search/FeatureFilter?productType=processors&Integr... ;

"

still works now? As OpenVINO might requires more. 

Your answer is very very helpful to me.:)

Thanks,

Yuanjie

0 Kudos
nikos1
Valued Contributor I
802 Views

Hello Yuanjie,

I think after our findings here in this thread It is safer to meet the following OpenVino requirements / specification if you want to run on GPU path:

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

Iris® Pro & Intel® HD Graphics

6th to 8th generation Intel Core processor with Iris® Pro graphics and Intel HD Graphics†

6th to 8th generation Intel Xeon processor with Iris Pro graphics and Intel HD Graphics (excluding the e5 family which does not include graphics)†

The Intel ark tool can still help us confirm that the new CPU has a GPU that is at least HD5xx so that we can meet the clDNN requirement  ( Note: HD5xx+ devices are supported ) .

FWIW some of the GPUs I have tested and confirmed they work are HD 580 (very fast GT4), HD 650 (fast GT3), HD 500 inside the DeepLens Atom, HD 505, HD630 GT2. The more EUs the faster - GT2 is slower than GT3 which is slower than GT4. OpenVino / clDNN scales very well when it finds more EUs in your GPU.

Cheers,

Nikos

0 Kudos
Yuanjie_B_Intel
Employee
802 Views

nikos wrote:

Hello Yuanjie,

I think after our findings here in this thread It is safer to meet the following OpenVino requirements / specification if you want to run on GPU path:

https://software.intel.com/en-us/openvino-toolkit/documentation/system-r...

Iris® Pro & Intel® HD Graphics

6th to 8th generation Intel Core processor with Iris® Pro graphics and Intel HD Graphics†

6th to 8th generation Intel Xeon processor with Iris Pro graphics and Intel HD Graphics (excluding the e5 family which does not include graphics)†

The Intel ark tool can still help us confirm that the new CPU has a GPU that is at least HD5xx so that we can meet the clDNN requirement  ( Note: HD5xx+ devices are supported ) .

FWIW some of the GPUs I have tested and confirmed they work are HD 580 (very fast GT4), HD 650 (fast GT3), HD 500 inside the DeepLens Atom, HD 505, HD630 GT2. The more EUs the faster - GT2 is slower than GT3 which is slower than GT4. OpenVino / clDNN scales very well when it finds more EUs in your GPU.

Cheers,

Nikos

Hi Nikos, 

I appreciate your guidance!

I hear from my manager that 6th to 8th generation Iris machines are hard to find in market because update is too fast. 

I wonder if these three types are capable for work:

(https://www.intel.com/content/www/us/en/support/articles/000005530/processors/intel-core-processors.html)

Processor    Base frequency        Intel® UHD Graphics    Graphics frequency        Compatible desktop boards

i7-8700K        3.70 GHz                Intel® UHD Graphics 630        350/1200                        Compatible boards

i7-8700           3.20 GHz                Intel® UHD Graphics 630        350/1200                        Compatible boards

i7-8086K        4.00 GHz                 Intel® UHD Graphics 630        350/1200                        Compatible boards

 

If capable, then I will purchase one. 

Or could you please give me some more suggestions on machine types?

Thanks, 

Yuanjie

0 Kudos
Yuanjie_B_Intel
Employee
802 Views

nikos wrote:

Hello Yuanjie,

I think after our findings here in this thread It is safer to meet the following OpenVino requirements / specification if you want to run on GPU path:

https://software.intel.com/en-us/openvino-toolkit/documentation/system-r...

Iris® Pro & Intel® HD Graphics

6th to 8th generation Intel Core processor with Iris® Pro graphics and Intel HD Graphics†

6th to 8th generation Intel Xeon processor with Iris Pro graphics and Intel HD Graphics (excluding the e5 family which does not include graphics)†

The Intel ark tool can still help us confirm that the new CPU has a GPU that is at least HD5xx so that we can meet the clDNN requirement  ( Note: HD5xx+ devices are supported ) .

FWIW some of the GPUs I have tested and confirmed they work are HD 580 (very fast GT4), HD 650 (fast GT3), HD 500 inside the DeepLens Atom, HD 505, HD630 GT2. The more EUs the faster - GT2 is slower than GT3 which is slower than GT4. OpenVino / clDNN scales very well when it finds more EUs in your GPU.

Cheers,

Nikos

Hi Nikos, 

Recently we met with the difficulty in looking for a 

6th to 8th generation Intel Core processor with Iris® Pro graphics and Intel HD Graphics†  ,

or a 6th to 8th generation Intel Xeon processor with Iris Pro graphics and Intel HD Graphics (excluding the e5 family which does not include graphics)†

in the market, since the machines have been updated. 

I am looking forward to your further guide about which machine type for us to purchase at present. Once you provide the information, we will buy one. I am eager to have an attempt on it and to see the GPU performance.

Thanks!

Sincerely,

Yuanjie

0 Kudos
Reply