Intel Announces the New Intel® SDK for OpenCL* Applications 2012

In support of the recent announcement of the 3rd Generation Intel® Core™ Processors, Intel has released the Intel® SDK for OpenCL* Applications 2012. For the first time, OpenCL* developers using Intel® architecture can utilize compute resources across both Intel® Processors and Intel® HD Graphics Driver 4000/2500

From a person who, for the last couple of years has closely followed the emergence of the OpenCL standard, this announcement was something worth waiting for.  Less than a year ago, on this blog, I posted the news that the Intel® OpenCL SDK 1.1 gold  was released,  This was the first production OpenCL implementation from Intel targeting Intel® processors on Windows* OS. This current announcement is special, the Intel SDK for OpenCL Applications 2012 now supports not only the CPU but also the Intel HD Graphics 4000/2500 for Windows* 7 users.  We’ve come a long way in a year.

Introducing the Intel® SDK For OpenCL* Applications

OpenCL on the 3rd Generation Intel® Core Processor Family extends Intel’s line of tools and APIs on Intel platforms and adds interoperability with other graphics APIs like DirectX*, OpenGL* and Intel® Media SDK, directly on the Intel HD Graphics device.

So what else is new in this release?

    • A Single OpenCL* platform enables shared context for OpenCL applications running on both the CPU and Intel HD Graphics 4000/2500. The OpenCL platform with both CPU and HD Graphics devices is available seamlessly on the Intel® HD Graphics Drivers.



    • Improved performance for OpenCL applications running on Intel® Xeon® Processors and Intel® Core™ Processors. This CPU support is also available for Linux* OS developers.


    • Intel® SDK for OpenCL* applications development tools includes an offline compiler and a step-by-step OpenCL Kernel debugger (for CPU) integrated in Microsoft Visual Studio* 2010 integrated development environment.


    • 10 OpenCL code samples, three of them new, are now available for independent download.

The list above is just a sample of what is available with this new SDK. I recommend you read the product brief or watch the introduction video to get started with this new SDK.

Download the SDK for free at and begin optimizing your applications for the 3rdGeneration Intel® Core™ Processors today.

Don’t forget to follow us on Twitter at @IntelOpenCL



For more complete information about compiler optimizations, see our Optimization Notice.


Arnon Peleg (Intel)'s picture

OpenCL and DirectX 11 for Graphics are supported only on 3rd Gen Intel Core Processors (Ivy Bridge). Your OpenCL code can run on Sandy Bridge on CPU, so you should be covered. For C++ AMP, today implementation by Microsoft is using DX11 devices only, so you will not be able to use Sandy Bridge with the Microsoft implementation.

As for the CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT, we have took it and investigate. If you want to explicitly use vector types with AVX, float8 may provide you better performance, depends on your algorithm and code. I suggest you will check it with your code.

Paul Jurczak's picture

Arnon, wouldn't CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT = 8 be more appropriate for CPUs with AVX instructions? AVX registers can hold 8 float elements, so if I want to vectorize my code manually (explicitly), float8 vector would be more efficient than float4, right?

anonymous's picture

Is there any plan (or is it even possible) to add GPU support on Sandy Bridge? I'm stuck with the 2nd gen processor+gpu and it doesn't even support c++ amp on windows.

Arnon Peleg (Intel)'s picture

The CPU OpenCL device does implicit vectorization for AVX code on 3rd and 2nd Gen Intel Core Processors. Read more at:

The value of CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT is not related, and for auto vectorization you can use scalar float.

Paul Jurczak's picture

Ivy Bridge CPU OpenCL device reports: CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT = 4. Does it mean that AVX instructions (8 floats wide) are not being used in the newest Intel OpenCL driver?

anonymous's picture

Hi -- the article seems to indicate that the SDK is windows only, but there are installation instructions for linux use, which is great news!

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.