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

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

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

AttachmentSize
Downloadtext/plain GPU info and ie version.txt15.4 KB
30 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hello Yuanjie,

OpenVino needs an Intel GPU to run using the cldnn plug-in when -d GPU option is used. 

I think your CPU is a Xeon E5 and those do not have a GPU ( please refer to https://ark.intel.com/products/series/78583/Intel-Xeon-Processor-E5-v3-F... ) . If this is the case you cannot run using -d GPU or run inference using OpenVino on a discrete GPU.

You can still run with FP32 IR using the -d CPU parameter.

Cheers,

Nikos

Hi Nikos,

 Thank you very much! I will go on try. 

Best wishes, 

Yuanjie

Quote:

Nikos wrote:

Hello Yuanjie,

OpenVino needs an Intel GPU to run using the cldnn plug-in when -d GPU option is used. 

I think your CPU is a Xeon E5 and those do not have a GPU ( please refer to https://ark.intel.com/products/series/78583/Intel-Xeon-Processor-E5-v3-F... ) . If this is the case you cannot run using -d GPU or run inference using OpenVino on a discrete GPU.

You can still run with FP32 IR using the -d CPU parameter.

Cheers,

Nikos

Hi Nikos,

  I was wondering if there were suitable machine types that worked well for both "-d CPU" and "-d GPU" options according to your knowledge in this case. If so, I would like to check if out team have available machines. I appreciate your help.

Best wishes,

Yuanjie

Quote:

Ba, Yuanjie (Intel) wrote:

Quote:

Nikos wrote:

 

Hello Yuanjie,

OpenVino needs an Intel GPU to run using the cldnn plug-in when -d GPU option is used. 

I think your CPU is a Xeon E5 and those do not have a GPU ( please refer to https://ark.intel.com/products/series/78583/Intel-Xeon-Processor-E5-v3-F... ) . If this is the case you cannot run using -d GPU or run inference using OpenVino on a discrete GPU.

You can still run with FP32 IR using the -d CPU parameter.

Cheers,

Nikos

 

 

Hi Nikos,

  I was wondering if there were suitable machine types that worked well for both "-d CPU" and "-d GPU" options according to your knowledge in this case. If so, I would like to check if out team have available machines. I appreciate your help.

Best wishes,

Yuanjie

I tried intel core i5-7300U, it works fine with both CPU and  GPU

Quote:

Deng, Fucheng wrote:

Quote:

Ba, Yuanjie (Intel) wrote:

 

Quote:

Nikos wrote:

 

Hello Yuanjie,

OpenVino needs an Intel GPU to run using the cldnn plug-in when -d GPU option is used. 

I think your CPU is a Xeon E5 and those do not have a GPU ( please refer to https://ark.intel.com/products/series/78583/Intel-Xeon-Processor-E5-v3-F... ) . If this is the case you cannot run using -d GPU or run inference using OpenVino on a discrete GPU.

You can still run with FP32 IR using the -d CPU parameter.

Cheers,

Nikos

 

 

Hi Nikos,

  I was wondering if there were suitable machine types that worked well for both "-d CPU" and "-d GPU" options according to your knowledge in this case. If so, I would like to check if out team have available machines. I appreciate your help.

Best wishes,

Yuanjie

 

 

I tried intel core i5-7300U, it works fine with both CPU and  GPU

Thanks Fucheng,

I will check if our  team has this type. And if you know  other machine types available as well, please tell me, especially if any type of i7 works fine.

Best wishes,

Yuanjie

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

Quote:

nikos wrote:

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

Thanks Nikos!

I tried an "Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)". Unfortunately, my attempt showed the same result as above. I am not sure if there is anything wrong with my work. I want to find out how to solve.

Hello Yuanjie,

I think first step would be to make sure the OS can see the GPU and also OpenCL environment is properly installed.

What is the GPU device ID, is it in the clDNN device list?  What is the clinfo output?

If OpenCL cannot see the Intel GPU OpenCL device you cannot run with -d GPU (but -d CPU should work fine).

As the Xeon E3v3 CPU is a bit older the NEO driver may not work. You may need to try the legacy OpenCL driver as described in another post in this forum (search for Linux OpenCL installation). First you need to see a valid GPU OpenCL device when you run clinfo.

Cheers,

Nikos

Quote:

nikos wrote:

Hello Yuanjie,

I think first step would be to make sure the OS can see the GPU and also OpenCL environment is properly installed.

What is the GPU device ID, is it in the clDNN device list?  What is the clinfo output?

If OpenCL cannot see the Intel GPU OpenCL device you cannot run with -d GPU (but -d CPU should work fine).

As the Xeon E3v3 CPU is a bit older the NEO driver may not work. You may need to try the legacy OpenCL driver as described in another post in this forum (search for Linux OpenCL installation). First you need to see a valid GPU OpenCL device when you run clinfo.

Cheers,

Nikos

Hi Nikos,

Thanks to your help my previous problem has been solved !

I installed openCL 2012 (according to steps and the download link here: https://github.com/guruofquality/grex/wiki/OpenCL) and figured out clinfo output (the attachment). It began to show information about my GPU. Among the information I found the ' clGetPlatformInfo' function and regarding GPU info - I think the previous problem about this function had been solved in this way.

However, a new problem occurred - 'Segmentation fault (core dumped)'. The terminal output changes to:
[ INFO ] InferenceEngine:
        API version ............ 1.4
        Build .................. custom_2018_3600f36d7bb24e5193cbf6a3aaf98b085942a091
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_3600f36d7bb24e5193cbf6a3aaf98b085942a091
        Description ....... clDNNPlugin
[ INFO ] Loading network files:
        /home/yuanjie/model_optimizer/frozen_inference_graph.xml
        /home/yuanjie/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
Segmentation fault (core dumped)

I am confused if the problem was caused by an earlier or older version of OpenCL. I have to struggle with a right legacy OpenCL driver. Sincerely I need your guidance again.

I attached my clinfo output. What's more, '-d GPU' fails while '-d CPU' works well. I attached the output as well. 

Thanks,

Yuanjie

 

Attachments: 

AttachmentSize
Downloadtext/plain clinfo output.txt9.4 KB

Hello Yuanjie,

There is an OpenCL installation issue. You clifno reports that we have a good OpenCL CPU device which is good but in our case we do not need it as -d CPU runs on MKLDNN and not using OpenCL CPU. 

What you really need for -d GPU is clinfo to report a valid OpenCL GPU device and this is not the case according to clinfo and also this line:

clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform

Let's try to install OpenCL for your GPU.  I think your CPU is Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz so it has an Intel® HD Graphics 4600 so in theory it should work if the proper OpenCL driver is installed.

What is the OS and kernel version?

Cheers,

Nikos 

Quote:

nikos wrote:

Hello Yuanjie,

There is an OpenCL installation issue. You clifno reports that we have a good OpenCL CPU device which is good but in our case we do not need it as -d CPU runs on MKLDNN and not using OpenCL CPU. 

What you really need for -d GPU is clinfo to report a valid OpenCL GPU device and this is not the case according to clinfo and also this line:

clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform

Let's try to install OpenCL for your GPU.  I think your CPU is Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz so it has an Intel® HD Graphics 4600 so in theory it should work if the proper OpenCL driver is installed.

What is the OS and kernel version?

Cheers,

Nikos 

Hi Nikos,

My kernel version is: 4.14.20-041420-generic. And my OS is Ubuntu 16.04.5 LTS.

I just found this link: https://software.intel.com/en-us/articles/opencl-drivers#graph-lin-ubuntu. It is OpenCL for GPUs on  Linux OS ubuntu 16.04.x. I would like to ensure it is the right way. I am trying to check it but still struggling with an error.

Thanks,

Yuanjie

Quote:

nikos wrote:

Hello Yuanjie,

There is an OpenCL installation issue. You clifno reports that we have a good OpenCL CPU device which is good but in our case we do not need it as -d CPU runs on MKLDNN and not using OpenCL CPU. 

What you really need for -d GPU is clinfo to report a valid OpenCL GPU device and this is not the case according to clinfo and also this line:

clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform

Let's try to install OpenCL for your GPU.  I think your CPU is Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz so it has an Intel® HD Graphics 4600 so in theory it should work if the proper OpenCL driver is installed.

What is the OS and kernel version?

Cheers,

Nikos 

Hi Nikos, 

Can you tell me how to enable OpenCL for my GPU? I have spent a lot of time on it. 

Thanks a lot, 

Yuanjie

Hello Yuanjie,

The recommended way of installing OpenCL GPU can be found in 

https://software.intel.com/en-us/articles/OpenVINO-Install-Linux

Please refer to section "Additional installation steps for processor graphics (GPU) "

./install_NEO_OCL_driver.sh

Let me know if you it is successful. Please post clinfo after a reboot.

if not we can try a different technique next.

Cheers,

Nikos

 

 

If NEO installation fails you may want to try this solution I posted in https://software.intel.com/en-us/forums/computer-vision/topic/798986

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

 

 

Quote:

nikos wrote:

Hello Yuanjie,

The recommended way of installing OpenCL GPU can be found in 

https://software.intel.com/en-us/articles/OpenVINO-Install-Linux

Please refer to section "Additional installation steps for processor graphics (GPU) "

./install_NEO_OCL_driver.sh

Let me know if you it is successful. Please post clinfo after a reboot.

if not we can try a different technique next.

Cheers,

Nikos

 

 

Hi Nikos, After reboot the clinfo returns:

clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Intel(R) OpenCL
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success [INTEL]
  clCreateContext(NULL, ...) [default]            Success [INTEL]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  Success (1)
    Platform Name                                 Intel(R) OpenCL
    Device Name                                   Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
    Platform Name                                 Intel(R) OpenCL
    Device Name                                   Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz

More details of clinfo output is attached.

Thanks,

Yuanjie

Attachments: 

AttachmentSize
Downloadtext/plain clinfo-NEO.txt6.8 KB

Quote:

nikos wrote:

If NEO installation fails you may want to try this solution I posted in https://software.intel.com/en-us/forums/computer-vision/topic/798986

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

 

 

Hi Nikos, 

Next, I tried the commands. The clinfo output turned to:

clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  No platform
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   No platform
  clCreateContext(NULL, ...) [default]            No platform
  clCreateContext(NULL, ...) [other]              Success [INTEL]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  No platform
 

More details of the clinfo output is attached. I am still working on it and looking forward to more suggestions from you.

Thank you,

Yuanjie

Attachments: 

AttachmentSize
Downloadtext/plain clinfo-SRB5.0.txt6.51 KB

Hello Yuanjie,

Sorry to hear still no OpenCL GPU devices appears in your clinfo output. This is essential for OpenVIno to work with -d GPU so we have to enable this path. We need to find out more about the system configuration to ensure the GPU device is visible.

1) I believe this the CPU model in your system :  Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz.  Is this correct? Please confirm using

sudo lshw -C cpu

2) According to https://ark.intel.com/products/80806/Intel-Core-i7-4790-Processor-8M-Cac... there is a GPU : 

Intel® HD Graphics 4600 which supports OpenCL. Please confirm using

lspci | grep VGA

and / or

sudo lshw -C video

3) I believe the kernel is  4.14.20-041420-generic - Please confirm using

uname -a

4) Is there also a discrete GPU plugged in this system in the PCI-e bus?  I think if there is it should appear in the output of 

lspci | grep VGA

5) If you also have discrete graphics card things are more complicates to set up. Easier way would be to connect HDMI / DVI or DP cable directly to the motherboard graphics graphics output (not the discrete GPU). 

6) Is the BIOS updated to the latest version? If not please update.

7) Is there a BIOS enable integrated graphics option? It should be enabled. 

8) Is there a BIOS option to specify what screen/display would be primary? It should be set to Intel graphics.

9) If all items above look good, another option is to upgrade kernel to 4.15  - I had some issues 4.14 in some older systems so that could help.

Good luck!

 nikos

Quote:

nikos wrote:

Hello Yuanjie,

Sorry to hear still no OpenCL GPU devices appears in your clinfo output. This is essential for OpenVIno to work with -d GPU so we have to enable this path. We need to find out more about the system configuration to ensure the GPU device is visible.

1) I believe this the CPU model in your system :  Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz.  Is this correct? Please confirm using

sudo lshw -C cpu

2) According to https://ark.intel.com/products/80806/Intel-Core-i7-4790-Processor-8M-Cac... there is a GPU : 

Intel® HD Graphics 4600 which supports OpenCL. Please confirm using

lspci | grep VGA

and / or

sudo lshw -C video

3) I believe the kernel is  4.14.20-041420-generic - Please confirm using

uname -a

4) Is there also a discrete GPU plugged in this system in the PCI-e bus?  I think if there is it should appear in the output of 

lspci | grep VGA

5) If you also have discrete graphics card things are more complicates to set up. Easier way would be to connect HDMI / DVI or DP cable directly to the motherboard graphics graphics output (not the discrete GPU). 

6) Is the BIOS updated to the latest version? If not please update.

7) Is there a BIOS enable integrated graphics option? It should be enabled. 

8) Is there a BIOS option to specify what screen/display would be primary? It should be set to Intel graphics.

9) If all items above look good, another option is to upgrade kernel to 4.15  - I had some issues 4.14 in some older systems so that could help.

Good luck!

 nikos

Hi Nikos, 

I appreciate your professional help and your patience. According to the list, I am afraid that the GPU is Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller other than Intel® HD Graphics 4600. Other info is exactly the same as you listed. More concretely, 

1) CPU: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz

2) GPU: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller

3) kernel: 4.14.20-041420-generic

4) does not have a discrete GPU: 

yuanjie@zilin-Z97X-UD5H:~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

In this way is there any change of the steps?

I will confirm my Bios updated and enabled, going on try as you suggested. 

Thanks, 

Yuanjie

Hello Yuanjie,

Sorry I assumed the output of clinfo was correctly reporting CPU model.  Could we possibly confirm the exact CPU model? What is the output of 

cat /proc/cpuinfo | grep "model name" | uniq

and what is the output of 

sudo lshw -C cpu

It maybe that it is one of the older Xeon E3 that has a GPU that does not support OpenCL.

Some of the CPUs in the Xeons in https://ark.intel.com/products/series/78581/Intel-Xeon-Processor-E3-v3-F... have OpenCL GPUs and some do not. We need to find the exact model.

Thank you,

Nikos

Quote:

nikos wrote:

Hello Yuanjie,

Sorry I assumed the output of clinfo was correctly reporting CPU model.  Could we possibly confirm the exact CPU model? What is the output of 

cat /proc/cpuinfo | grep "model name" | uniq

and what is the output of 

sudo lshw -C cpu

It maybe that it is one of the older Xeon E3 that has a GPU that does not support OpenCL.

Some of the CPUs in the Xeons in https://ark.intel.com/products/series/78581/Intel-Xeon-Processor-E3-v3-F... have OpenCL GPUs and some do not. We need to find the exact model.

Thank you,

Nikos

Hi Nikos,

yuanjie@zilin-Z97X-UD5H:~$ cat /proc/cpuinfo | grep "model name" | uniq
model name      : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
yuanjie@zilin-Z97X-UD5H:~$ sudo lshw -C cpu
[sudo] password for yuanjie:
  *-cpu
       description: CPU
       product: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
       vendor: Intel Corp.
       physical id: 3d
       bus info: cpu@0
       version: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
       slot: SOCKET 0
       size: 3917MHz
       capacity: 4GHz
       width: 64 bits
       clock: 100MHz
       capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm cpuid_fault invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm xsaveopt dtherm ida arat pln pts cpufreq
       configuration: cores=4 enabledcores=4 threads=8
 

Thanks,

Yuanjie

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

 

 

Quote:

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

Quote:

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

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

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

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

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. ]

 

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

  

 

Quote:

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

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

Leave a Comment

Please sign in to add a comment. Not a member? Join today