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

OpenCL & HD Graphics 4000 & Linux Support

Engin_F_
Beginner
1,700 Views

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.

0 Kudos
20 Replies
ARNON_P_Intel
Employee
1,664 Views

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

Engin_F_
Beginner
1,664 Views

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.

JLuna5
New Contributor I
1,664 Views

you tested the kernel?

Engin_F_
Beginner
1,663 Views

Not tested yet, I will inform you

Pander_M_
Beginner
1,663 Views

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.

David_W_4
Beginner
1,663 Views

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.  

Jim_Vaughn
Beginner
1,663 Views

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.

EvgeniyPeshkov
New Contributor I
1,663 Views

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.

Jim_Vaughn
Beginner
1,663 Views

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.

EvgeniyPeshkov
New Contributor I
1,663 Views

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.

EvgeniyPeshkov
New Contributor I
1,664 Views

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.

ARNON_P_Intel
Employee
1,664 Views

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

 

nealmcb
Beginner
1,664 Views

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?

JLuna5
New Contributor I
1,664 Views

Hi Engine F, could you solve the problem?

SergeyKostrov
Valued Contributor II
1,664 Views
>>...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.
SergeyKostrov
Valued Contributor II
1,664 Views
>>...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.
SergeyKostrov
Valued Contributor II
1,664 Views
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******** ...
SergeyKostrov
Valued Contributor II
1,664 Views
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 ...
SergeyKostrov
Valued Contributor II
1,664 Views
>>...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.
SergeyKostrov
Valued Contributor II
917 Views
>>... >>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.
Reply