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

failed to create engine: No OpenCL device found

ssava1
Beginner
1,951 Views

I am trying to run the openvino interactive_face_detection_demo I have setup a shell file to run it.  But the demo can not find the OpenCL device. 

First I checked the CPU

model name    : Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz

This CPU has a Intel® HD Graphics 4600. I have enabled it in the BIOS but it still does not show up. I think it is a BIOS issue.

Next I checked the VGA devices

:~$ lspci | grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP]
02:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)

When I run the demo I get

InferenceEngine:
    API version ............ 1.4
    Build .................. 19154
[ INFO ] Parsing input parameters
[ INFO ] Reading input
[ INFO ] Loading plugin GPU

    API version ............ 1.5
    Build .................. 19154
    Description ....... clDNNPlugin
[ INFO ] Loading plugin CPU

    API version ............ 1.5
    Build .................. lnx_20181004
    Description ....... MKLDNNPlugin
[ INFO ] Loading network files for Face Detection
[ INFO ] Batch size is set to 1
[ INFO ] Checking Face Detection network inputs
[ INFO ] Checking Face Detection network outputs
[ INFO ] Loading Face Detection model to the GPU plugin
[ ERROR ] failed to create engine: No OpenCL device found which would match provided configuration:
    GeForce GTX 1050 Ti: invalid vendor type
    Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz: invalid device type

I understand why the 4771 can not be found, but The GTX 1050Ti is "invalid vendor type".  I am assuming that the clDNNPlugin is looking for Intel GPU.

To fix this issue, I think I need to do something with the plugin GPU. 

Yes, I know I can use CPU, but that is not want I want. The documentation is not good enough to fix this problem.  

Questions:

Is there a program to test the plugins?

How do I change  the GPU plugin and to what?

How do I find the source for the GPU plugin? I looked in https://github.com/opencv/dldt/tree/2018/inference-engine but can not find it GPU source files.

 

 

0 Kudos
4 Replies
nikos1
Valued Contributor I
1,951 Views

Sorry only Intel GPU devices for clDNN and also must be HD5xx or newer.

I believe you have an older HD4xx

There are similar threads in this forum - please search for clDNN or HD430

Cheers,

Nikos

0 Kudos
ssava1
Beginner
1,951 Views

I have been doing more research on the problem. I found the program to test the OpenCl devices. https://gist.github.com/tzutalin/51a821f15a735024f16b

When I run It get.   Now this really confuses me. This program can find the OpenCL devices, why can not the openvino can not?

clDeviceQuery Starting...

2 OpenCL Platforms found

 CL_PLATFORM_NAME:     NVIDIA CUDA
 CL_PLATFORM_VERSION:     OpenCL 1.2 CUDA 10.0.292
OpenCL Device Info:

 1 devices found supporting OpenCL on: NVIDIA CUDA

 ----------------------------------
 Device GeForce GTX 1050 Ti
 ---------------------------------
  CL_DEVICE_NAME:             GeForce GTX 1050 Ti
  CL_DEVICE_VENDOR:             NVIDIA Corporation
  CL_DRIVER_VERSION:             410.104
  CL_DEVICE_TYPE:            CL_DEVICE_TYPE_GPU
  CL_DEVICE_MAX_COMPUTE_UNITS:        6
  CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:    3
  CL_DEVICE_MAX_WORK_ITEM_SIZES:    1024 / 1024 / 64
  CL_DEVICE_MAX_WORK_GROUP_SIZE:    1024
  CL_DEVICE_MAX_CLOCK_FREQUENCY:    1392 MHz
  CL_DEVICE_ADDRESS_BITS:        64
  CL_DEVICE_MAX_MEM_ALLOC_SIZE:        1010 MByte
  CL_DEVICE_GLOBAL_MEM_SIZE:        4040 MByte
  CL_DEVICE_ERROR_CORRECTION_SUPPORT:    no
  CL_DEVICE_LOCAL_MEM_TYPE:        local
  CL_DEVICE_LOCAL_MEM_SIZE:        48 KByte
  CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:    64 KByte
  CL_DEVICE_QUEUE_PROPERTIES:        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
  CL_DEVICE_QUEUE_PROPERTIES:        CL_QUEUE_PROFILING_ENABLE
  CL_DEVICE_IMAGE_SUPPORT:        1
  CL_DEVICE_MAX_READ_IMAGE_ARGS:    256
  CL_DEVICE_MAX_WRITE_IMAGE_ARGS:    16

  CL_DEVICE_IMAGE <dim>            2D_MAX_WIDTH     16384
                    2D_MAX_HEIGHT     32768
                    3D_MAX_WIDTH     16384
                    3D_MAX_HEIGHT     16384
                    3D_MAX_DEPTH     16384
  CL_DEVICE_PREFERRED_VECTOR_WIDTH_<t>    CHAR 1, SHORT 1, INT 1, FLOAT 1, DOUBLE 1


clDeviceQuery, Platform Name = NVIDIA CUDA, Platform Version = OpenCL 1.2 CUDA 10.0.292, NumDevs = 1, Device = GeForce GTX 1050 Ti
 CL_PLATFORM_NAME:     Intel(R) CPU Runtime for OpenCL(TM) Applications
 CL_PLATFORM_VERSION:     OpenCL 2.1 LINUX
OpenCL Device Info:

 1 devices found supporting OpenCL on: Intel(R) CPU Runtime for OpenCL(TM) Applications

 ----------------------------------
 Device Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz
 ---------------------------------
  CL_DEVICE_NAME:             Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz
  CL_DEVICE_VENDOR:             Intel(R) Corporation
  CL_DRIVER_VERSION:             18.1.0.0920
  CL_DEVICE_TYPE:            CL_DEVICE_TYPE_CPU
  CL_DEVICE_MAX_COMPUTE_UNITS:        8
  CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:    3
  CL_DEVICE_MAX_WORK_ITEM_SIZES:    8192 / 8192 / 8192
  CL_DEVICE_MAX_WORK_GROUP_SIZE:    8192
  CL_DEVICE_MAX_CLOCK_FREQUENCY:    3500 MHz
  CL_DEVICE_ADDRESS_BITS:        64
  CL_DEVICE_MAX_MEM_ALLOC_SIZE:        3978 MByte
  CL_DEVICE_GLOBAL_MEM_SIZE:        15914 MByte
  CL_DEVICE_ERROR_CORRECTION_SUPPORT:    no
  CL_DEVICE_LOCAL_MEM_TYPE:        global
  CL_DEVICE_LOCAL_MEM_SIZE:        32 KByte
  CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:    128 KByte
  CL_DEVICE_QUEUE_PROPERTIES:        CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
  CL_DEVICE_QUEUE_PROPERTIES:        CL_QUEUE_PROFILING_ENABLE
  CL_DEVICE_IMAGE_SUPPORT:        1
  CL_DEVICE_MAX_READ_IMAGE_ARGS:    480
  CL_DEVICE_MAX_WRITE_IMAGE_ARGS:    480

  CL_DEVICE_IMAGE <dim>            2D_MAX_WIDTH     16384
                    2D_MAX_HEIGHT     16384
                    3D_MAX_WIDTH     2048
                    3D_MAX_HEIGHT     2048
                    3D_MAX_DEPTH     2048
  CL_DEVICE_PREFERRED_VECTOR_WIDTH_<t>    CHAR 1, SHORT 1, INT 1, FLOAT 1, DOUBLE 1


clDeviceQuery, Platform Name = NVIDIA CUDA, Platform Version = OpenCL 1.2 CUDA 10.0.292, NumDevs = 1, Device = GeForce GTX 1050 Ti
Intel(R) CPU Runtime for OpenCL(TM) Applications, Platform Version = OpenCL 2.1 LINUX, NumDevs = 1, Device = Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz

System Info:

 Local Time/Date =  04:49:07, 04/10/2019
 CPU Name: Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz
 # of CPU processors: 8
 Linux version 4.15.0-47-generic (buildd@lgw01-amd64-001) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #50-Ubuntu SMP Wed Mar 13 10:44:52 UTC 2019


TEST PASSED

 

0 Kudos
ssava1
Beginner
1,951 Views

Poor people can not afford new computers. I guess that limits development.

0 Kudos
nikos1
Valued Contributor I
1,951 Views

I totally understand shaun s. 

Please read https://software.intel.com/comment/1931157 for more details why. We spent many days trying to get this to work but at the end was not worth supporting older GPUs that do not support Out-of-order execution

Please check clinfo :

  Queue properties
    Out-of-order execution             No
    Profiling                          Yes

Cheers,

Nikos

0 Kudos
Reply