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_atomics
cl_khr_fp16
cl_khr_gl_sharing
cl_khr_gl_event
cl_khr_d3d10_sharing
cl_khr_dx9_media_sharing
cl_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_thread
SDK
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.
OpenCL Beta 2013 not support Linux platforms. Why you refer OpenCL driver for Linux platforms?
On Linux there is no support for the HD 4000, while on Windows there is. But there is much more than just the embedded GPU: AVX and SSE
Do you know Intel plan releases OpenCL 2013 for supporting Linux Platform?
There are no official announcements.
Can`t dopwnload. Page not found all christmass week
Thanks for letting me know! The link at Intel was redirected wrongly and returned only the first 2MB of the zip-file. I corrected the link.
Thx much!