
This article is still work-in-progress
Intel has just released its OpenCL bit CPU-drivers, version 2013 bèta. It has support for OpenCL 1.1 (not 1.2 as for the CPU) on Intel HD Graphics 4000/2500 of the 3rd generation Core processors (Windows only). The release notes mention support for Windows 7 and 8, but the download-site only mentions windows 8. Support under Linux is limited to 64 bits.
The release notes mention:
- General performance improvements for many OpenCL* kernels running on CPU.
- Preview Tool: Kernel Builder (Windows)
- Preview Feature: support of kernel source code hotspots analysis with the Intel VTuneT Amplifier XE 2011 update 3 or higher.
- The GNU Project Debugger (GDB) debugging support on Linux operating systems.
- New OpenCL 1.2 extensions supported by the CPU device:
cl_khr_int64_base_atomics and cl_khr_int64_extended_atomicscl_khr_fp16cl_khr_gl_sharingcl_khr_gl_eventcl_khr_d3d10_sharingcl_khr_dx9_media_sharingcl_khr_d3d11_sharing.
- OpenCL 1.1 extensions that were changed in OpenCL 1.2:
- Device Fission supports both OpenCL 1.1 EXT API’s and also OpenCL* 1.2 fission core features
- Media Sharing support intel 1.1 media sharing extension and also the 1.2 KHR media sharing extension
- Printf extension is aligned with OpenCL 1.2 core feature.
Check the release notes for full information.
The drivers can be found on http://software.intel.com/en-us/articles/vcsource-tools-opencl-sdk-2013/. Installation is simple. For Windows there is a installer. If you have Linux, make sure you remove any previous version of Intel’s openCL drivers. If you have a Debian-based Linux, use the command ‘alien’ to convert the rpm to deb, and make sure ‘libnuma1‘ is installed. There are requirements for libc 2.11 or 2.12 – more information on that later as Ubuntu 12.04 has libc6 2.15.
This is OpenCL-info on a test-machine with Intel i7:
Platform Name: Intel(R) OpenCL
Number of devices: 1
Device Type: CL_DEVICE_TYPE_CPU
(...)
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: Yes
Queue properties:
Out-of-Order: Yes
Profiling : Yes
Platform ID: 0x1d13d50
Name: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
Vendor: Intel(R) Corporation
Driver version: 1.2
Profile: FULL_PROFILE
Version: OpenCL 1.2 (Build 43113)
Extensions: cl_khr_fp64
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_intel_printf
cl_ext_device_fission
cl_intel_exec_by_local_threadSDK
The current examples can be downloaded from: http://software.intel.com/file/43406 http://software.intel.com/sites/products/vcsource/files/43406/intel_ocl_samples.zip – you will need to alter them to work on Linux/OSX. Below are the examples I have altered to work on Linux/OSX – they are untested on any other machine than my primary computer. Make sure you have the latest version of the common files and check if files are missing as I have not included large data-files.
- common files (v1.1) – needed for all below examples
- BitonicSort (v1.0) – PDF
- DotProduct (v1.0)
- GodRays (v1.0) – PDF – without large files, copy them from original. Not working yet, as ‘My5.rgb’ is not handled correctly. Feedback is welcome.
- MedianFilter (v1.0) – PDF – without large files, copy them from original.
- SimpleOptimisations (v1.0)
- ToneMapping (v1.0) – PDF – Copy ‘My5.rgb’ from GodRays. Same problem with ‘My5.rgb’ – feedback still welcome.
#include "CL/cl.h" #include "utils.cpp"
Also add a function to the bottom of the main cpp:
int main(int argc, _TCHAR* argv[]) {
return _tmain(argc, argv);
}And then it’s just finding equivalents of standard C/C++ for MS flavour of C/C++. These are to be put in sc_linux.h
Benchmarks
In an update the results of a previous benchmark will be done.
Related Posts

NVIDIA enables OpenCL 2.0 beta-support
... drivers for Windows NVIDIA mentions support for OpenCL 2.0. This has been the first time in 3 years since OpenCL 2.0 has ...

OpenCL vs CUDA Misconceptions
... year I explained the main differences between CUDA and OpenCL. Now I want to get some old (and partly) false stories ...

Intel’s OpenCL SDK examples for GCC
... Linux/OSX.Code-examples are not bundled with the Linux OpenCL SDK 1.1 beta. Their focus is primarily Windows, so VisualStudio seems ...

