OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1718 Discussions

HD Graphics 5500 is unavailable with CentOS7.2 + intel-opencl-r3.1 driver

Takahashi__Toru
Beginner
603 Views

Hi,

I am trying to enable the HD Graphics 5500 of i7-5600U on CentOS7.2. I posted a similar inquiry to the following Intel's community and had a suggestion to ask at this forum:

No "CL_DEVICE_TYPE_GPU" with Intel HD5600 on CentOS 7

Let me explain my issue again. First, I installed "Driver and library(runtime) packages" into my CentOS 7.2, i.e., CentOS Linux (3.10.0-327.36.3.el7.x86_64) 7 (Core), which is obtained by upgrading CentOS7 (1511). I followed the Installation instructions in the following page:

OpenCL™ Drivers and Runtimes for Intel® Architecture | Intel® Software

The installation has done without any problem. Then, using the new kernel "4.7.0.intel.r3.1", I tested the sample code "CapsBasic" obtained from

OpenCL™ Platform/Device Capabilities Viewer Sample | Intel® Software.

There was no problem in its compilation & linking to OpenCL.  However, the result is not what I was expecting. The output looks like

[ttaka@localhost CapsBasic]$ ./CapsBasic
Number of available platforms: 1
Platform names:
    [0] Intel(R) OpenCL [Selected]
Number of devices available for each type:
    CL_DEVICE_TYPE_CPU: 1
    CL_DEVICE_TYPE_GPU: 0

    CL_DEVICE_TYPE_ACCELERATOR: 0

*** Detailed information for each device ***

CL_DEVICE_TYPE_CPU[0]
    CL_DEVICE_NAME: Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz
    CL_DEVICE_AVAILABLE: 1
    CL_DEVICE_VENDOR: Intel(R) Corporation
    CL_DEVICE_PROFILE: FULL_PROFILE
    CL_DEVICE_VERSION: OpenCL 2.0 (Build 330)
    CL_DRIVER_VERSION: 1.2.0.330
    CL_DEVICE_OPENCL_C_VERSION: OpenCL C 2.0
    CL_DEVICE_MAX_COMPUTE_UNITS: 4
    CL_DEVICE_MAX_CLOCK_FREQUENCY: 2600
    CL_DEVICE_MAX_WORK_GROUP_SIZE: 8192
    CL_DEVICE_ADDRESS_BITS: 64
    CL_DEVICE_MEM_BASE_ADDR_ALIGN: 1024
    CL_DEVICE_MAX_MEM_ALLOC_SIZE: 4174946304
    CL_DEVICE_GLOBAL_MEM_SIZE: 16699785216
    CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 131072
    CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: 262144
    CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: 64
    CL_DEVICE_LOCAL_MEM_SIZE: 32768
    CL_DEVICE_PROFILING_TIMER_RESOLUTION: 1
    CL_DEVICE_IMAGE_SUPPORT: 1
    CL_DEVICE_ERROR_CORRECTION_SUPPORT: 0
    CL_DEVICE_HOST_UNIFIED_MEMORY: 1
    CL_DEVICE_EXTENSIONS: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64 cl_khr_image2d_from_buffer
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: 1
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: 1
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: 1
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: 1
    CL_DEVICE_NATIVE_VECTOR_WIDTH_INT: 8
    CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG: 4
    CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT: 8
    CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE: 4

Clearly, there is no available GPU as an OpenCL device. Is this possible? As far as I know, Intel HD 5500 is included in the 5th generation HD. The PC being used here is Lenovo Thinkpad x250. With windows8, the PC could program the HD 5500 via OpenCL 1.2.

Also, I installed Media Server 2017 to CentOS7.2, which was reinstalled from scratch. However, at the verification step, I cound not find /dev/dri and go forward any more.

I really appreciate any suggestions or information.

 

Best regards,

Toru Takahashi

0 Kudos
3 Replies
Jeffrey_M_Intel1
Employee
603 Views

Sorry for the delayed reply.  The processor for this system is supported by the driver package installed.  You mentioned that OpenCL works in Windows, which is further evidence that you should be able to get OpenCL to work in Linux.

Some diagnostics to try:

1. Check that the Intel GPU is visible to the Linux OS.  An Intel VGA controller should be available, which you can check like this:

lspci -s 00:02.0

2. Check that the i915 module is loaded and used:

lsmod | grep 'i915'

More checks are available in this system analyzer script:

https://software.intel.com/en-us/articles/mss-sys-analyzer-linux

Hopefully one of these diagnostics will suggest a way forward.  Please feel free to paste the output of these checks here or in a private message.

 

 

0 Kudos
Takahashi__Toru
Beginner
603 Views

Hi,

I appreciate your quick reply and appologize my late reply. According to your suggestions, I have just obtained the following outputs:

$ uname -a
Linux localhost.localdomain 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ lspci -s 00:02.0
00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)

$ lsmod | grep 'i915'
i915                 1097431  0
i2c_algo_bit           13413  1 i915
drm_kms_helper        125056  1 i915
drm                   349210  2 i915,drm_kms_helper
i2c_core               40582  6 drm,i915,i2c_i801,drm_kms_helper,i2c_algo_bit,videodev
video                  24400  1 i915

$ python sys_analyzer_linux.py -v
--------------------------
Hardware readiness checks:
--------------------------
 [ OK ] Processor name: Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz
 [ INFO ] Intel Processor
 [ INFO ] Processor brand: Core
 [ INFO ] Processor arch: Broadwell
--------------------------
OS readiness checks:
--------------------------
 [ INFO ] GPU PCI id     : 1616
 [ INFO ] GPU description: BDW GT2 ULT
 [ OK ] GPU visible to OS
 [ ERROR ] nomodeset detected in GRUB cmdline

Clearly, the last result shows that there is something wrong in my GPU, but I don't know how I can resolve this issue.

Toru

 

 

 

 

0 Kudos
Takahashi__Toru
Beginner
603 Views

Hi,

I could resolve the issue by removing the option "nomodeset" from the GRUB's configuration file, i.e., /etc/default/grub and conguring the GRUB2 by grub2-mkconfig. Now GPU can work as a computing device correctly. However, only the superuser can use it. How can other users user the GPU?

Toru

 

0 Kudos
Reply