OpenCL & HD Graphics 4000 & Linux Support

OpenCL & HD Graphics 4000 & Linux Support

Hello,

I have noted that, Intel SDK for OpenCL applications XE 2013 - for Linux does not support Intel HD Graphics 4000. What is reason for this? What are future plans for HD Graphics 4000 support under Linux OSs?

Regards.

21 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Right, the XE version of the SDK supports Linux for CPUs and Intel Xeon Phi Coprocessor. Our product support matrix is expanding all the time with just recently a new support on Windows for 4th Generation Intel Core Processor with Intel Iris Graphics.

We will use this forum to update you when we will have more news on new products and OSs.

Meanwhile, you may want to try the open source project beignet. This project provide am open source alpha software for OpenCL on Intel HD Graphics 4000. It is not commercial product by Intel, but is available for the open source community.

Arnon

Thank you so much for your informative post. One more question: When I try to downlaod official OpenCL SDK from Intel, ın target processors column only Xeon processors are seen. I cannot see Core processor? Is there an error? You can see this situation from image which is attached to post.

Moreover does Intel plan to include HD4000 support on Linux OSs?

Regards.

Attachments: 

AttachmentSize
Downloadimage/png intel-opencl.png56.58 KB

you tested the kernel?

Not tested yet, I will inform you

It wuld be great if Intel would officially support OpenCL on Intel HD Graphics 4000. A general timeline from Intel regarding this would be great to manage customer (developer) expectations.

Intel will *likely never* support linux OpenCL on its Core processors.  You just to have to follow the gigaflops to understand why...

Intel sell a *lot* of Xeons into supercomputing centers, where Xeons are bought hundreds, sometimes thousands at a time.  These centers tend to run OpenCL on linux.  Which is great...only not.  If you look at a Xeon that was released in any given quarter, and then look at a Core released the same quarter, the Xeon tends to be $100-200 more expensive.  Which is fine - it can pull more gflops, right?  No, not on OpenCL (with a driver).  Go look at that Xeon again, its gigaflops.  Now look at the Core...but this time, look at the glops on the GPU.  Add that to the gflops from the CPU.  The Core has more total gigaflops, right?  OpenCL doesn't care if the CPU or the GPU is the thread - that's the point of heterogenous computing.  And the point of why Intel won't support it on linux.  

So,  if Intel were to support Core CPU/iGPU's on linux, somebody would eventually figure out that they can save thousands of dollars, and get more performance for their 1000-node supercomputer if they built it on Core.  So, don't expect to see a linux Core OpenCL driver any time soon...unfortunately Intel will protect their interests on this one.  

Quote:

Arnon Peleg (Intel) wrote:

Right, the XE version of the SDK supports Linux for CPUs

Sorry to bring up an old thread but we are looking at distributing our OpenCL accelerated solution to a few of our desktop and laptop users who are on non-xeon CPUs on Linux. It looks like there is no download for linux for non-xeon CPUs. This is likely a major roadblock for our development if we cannot run even CPU versions on non-xeon CPUs.

Hi Jim Vaughn!

I would advise you to use AMD's APP SDK (OpenCL SDK) that supports Intel processors as OpenCL devices as well. There are both Windows and Linux versions. Implementation is pretty well and high performance.

You can also take a look at pocl http://pocl.sourceforge.net/ that is already included in Fedora distribution and can be easily built under any other Linux OS. It is possible to link it to your application as library (no need of ICD) and avoid installation on the user's side.

Hi Evgeniy,

Thank you for your reply. We had looked into both of these as options in the past and unfortunately AMD does not support OpenCL SDK on non AMD hardware. I know it works and it works well as I have tested it on Intel hardware but since they do not support it we can not deliver it as a solution to our customers for a large number of reasons. Also POCL is not tremendously feature complete last time I checked which was version 0.8 and they still claim it is not feature complete. Most importantly in the same was as the AMD driver it is again not supported commercially which makes it difficult if not impossible to use for our purposes.

Can anyone from Intel comment please? This is seriously a big issue and it seems the above comment form Arnon states it supports Linux CPUs and does not mention any restriction to the xeon HW set.

Hi Jim!

As far as I understand you need official support of Intel hardware to be able to include SDK in your solution. According to AMD their latest APP SDK v2.9 supports all x86 CPUs with SSE 2.x or later and this fact is stated in their documentation. So it supports any Intel CPU by default as x86 and SSE are well defined common standards. Maybe I'm wrong and they keep in mind "any AMD's CPU with SSE SSE 2.x or later". In any case it's better to ask AMD about it.

Hi Jim!

As far as I understand you need official support of Intel hardware to be able to include SDK in your solution. According to AMD their latest APP SDK v2.9 supports all x86 CPUs with SSE 2.x or later and this fact is stated in their documentation. So it supports any Intel CPU by default as x86 and SSE are well defined common standards. Maybe I'm wrong and they keep in mind "any AMD's CPU with SSE SSE 2.x or later". In any case it's better to ask AMD about it.

Hi Jim,

As stated above, the OpenCL SDK XE 2013 is formally supported and validated on Intel Xeon Processors. The Linux runtime may run on Intel Core Processors, but this configuration is not validated and supported by Intel today.

Arnon

 

Evgeniy P. Thank you for the very interesting references.  Does AMD perhaps support the Intel CPUs, but not the associated Intel GPUs like the HD 4000?

Note also the packaging issues for Ubuntu .deb packages vs Red Hat rpm at https://software.intel.com/en-us/forums/topic/393041

Is AMD's SDK easy to install on Ubuntu Trusty 14.04 LTS?

Hi Engine F, could you solve the problem?

>>...Is AMD's SDK easy to install on Ubuntu Trusty 14.04 LTS?

There are three main versions of AMP APP SDK at the moment. What version would you like to install?

I didn't try installation on Ubuntu ( I have 16.04 LTS ) but I've installed AMD APP SDK 2.9 ( 64-bit ) on Windows 7 a couple of days ago without any problems.

Also, a link to previous versions of AMD APP SDKs is broken at the moment and I've reported that to AMD. Unfortunately, it is not fixed yet.

>>...Is AMD's SDK easy to install on Ubuntu Trusty 14.04 LTS?

Yes it is. It took only a couple of seconds to install AMD APP SDK v2.9 on a Linux Ubuntu 16.04 LTS 64-bit ( reboot is required as well ).

I'd like to note that this is CPU only configuration ( read Readme file of AMD APP SDK ) and is exactly what I need because Linux Ubuntu 16.04 LTS 64-bit is working in a virtual environment of WMvare Workstation 12 Player on Windows 7 SP1 64-bit ( Dell Precision Mobile with 3rd Gen Intel Core i7 / Ivy Bridge ).

I don't need an OpenCL with GPUs support at the moment.

Here is AMD APP SDK v2.9 installation output:

...
ubuntu@ubuntu-vm:~/WorkTemp/AMD-APP-SDK-v2.9-Linux64$ sudo ./Install-AMD-APP.sh
[sudo] password for ubuntu:
===========================================================
64-bit Operating System Found..

Starting Installation of AMD APPSDK v2.9 ....
SDK package name is :AMD-APP-SDK-v2.9-RC-lnx64.tgz
Checking Latest Version Info.....
Continuing in background, pid 9993.
......
Continuing Installation...
===============================================================
Current directory path is : /home/ubuntu/WorkTemp/AMD-APP-SDK-v2.9-Linux64
Untar command executed succesfully, The SDK package available
Untar command executed succesfully, The ICD package available
Copying files to /opt/AMDAPP/ ...
SDK files copied successfully at /opt/AMDAPP/
Installing AMD APP CPU runtime under /opt/AMDAPP/lib
Updating Environment variables...
32-bit path is :/opt/AMDAPP/lib/x86
64-bit path is :/opt/AMDAPP/lib/x86_64
Environment variables updated successfully
AMD APPSDK v2.9 installation Completed
>> Reboot required to reflect the changes
===============================================================
*****Please refer 'AMD_APPSDK_v2.9.log' in the same directory*****
*****Refer 'README.txt' for FAQ/help in the same directory********
...

Here is clinfo output:

...
ubuntu@ubuntu-vm:~$ clinfo
Number of platforms: 1
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.2 AMD-APP (1214.3)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices

Platform Name: AMD Accelerated Parallel Processing
Number of devices: 1
Device Type: CL_DEVICE_TYPE_CPU
Device ID: 4098
Board name:
Max compute units: 8
Max work items dimensions: 3
Max work items[0]: 1024
Max work items[1]: 1024
Max work items[2]: 1024
Max work group size: 1024
Preferred vector width char: 16
Preferred vector width short: 8
Preferred vector width int: 4
Preferred vector width long: 2
Preferred vector width float: 8
Preferred vector width double: 4
Native vector width char: 16
Native vector width short: 8
Native vector width int: 4
Native vector width long: 2
Native vector width float: 8
Native vector width double: 4
Max clock frequency: 2791Mhz
Address bits: 64
Max memory allocation: 6316211200
Image support: Yes
Max number of images read arguments: 128
Max number of images write arguments: 8
Max image 2D width: 8192
Max image 2D height: 8192
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 16
Max size of kernel argument: 4096
Alignment (bits) of base address: 1024
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: Yes
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: Read/Write
Cache line size: 64
Cache size: 32768
Global memory size: 25264844800
Constant buffer size: 65536
Max number of constant args: 8
Local memory type: Global
Local memory size: 32768
Kernel Preferred work group size multiple: 1
Error correction support: 0
Unified memory for Host and Device: 1
Profiling timer resolution: 1
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: Yes
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 0x00007f6d1bb73fc0
Name: Intel(R) Core(TM) i7-3840QM CPU @ 2.80GHz
Vendor: GenuineIntel
Device OpenCL C version: OpenCL C 1.2
Driver version: 1214.3 (sse2,avx)
Profile: FULL_PROFILE
Version: OpenCL 1.2 AMD-APP (1214.3)
Extensions: cl_khr_fp64 cl_amd_fp64 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_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt
...

>>...Is AMD's SDK easy to install on Ubuntu Trusty 14.04 LTS?..

I think it makes sense to upgrade your system to 16.04 LTS version. Take into account that Long Term Support ( LTS ) of Linux Ubuntu distributions will expire in 2019 for version 14 and in 2021 for version 16.

>>...
>>It took only a couple of seconds to install AMD APP SDK v2.9 on a Linux Ubuntu 16.04 LTS 64-bit ...

I'm impressed how AMD APP SDK is working in a virtualized Linux Ubuntu environment and even OpenCL device fission extension functionality is working.

Leave a Comment

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