Intel® SDK for OpenCL Applications 2012 - Frequently Asked Questions

To the Intel® SDK for OpenCL* Applications main page

Table of Contents

Product Information

Product Support

Using Intel® SDK for OpenCL* Applications

Product Information

Back to top

1. What is the Intel® SDK for OpenCL* Applications?
Available as a free download, the Intel® SDK for OpenCL* Applications provides a full development environment for OpenCL* application on Intel platforms including compatible drivers, code samples, development tools such as offline compiler and debugger, optimization guide, and support for optimization tools..

2. Is OpenCL* supported on the new 3rd Generation Intel® Core™ Processor Family?

3rd generation Intel® Core™ Processor with Intel® HD Graphics 4000/2500 now supports OpenCL* 1.1 on both Intel® Processor (CPU) and Intel® HD Graphics (GPU). Intel® HD Graphics driver contains all the necessary platform binaries to run applications enabled by OpenCL*. Developers of OpenCL* applications can take farther their development experience with the Intel® SDK for OpenCL* Applications 2012 available as a free download at www.intel.com/software/opencl

3. What is OpenCL*?
OpenCL* (Open Computing Language) is an emerging open standard for general-purpose parallel programming of heterogeneous systems. OpenCL* provides a uniform programming environment for software developers to write portable code for client computer systems, high-performance computing servers, and handheld devices using a diverse mix of multi-core CPUs, Graphics Processors, and other parallel processors. For more information please go to the official OpenCL* web page at Khronos.org web portal.

4. What is the status of the Intel® SDK for OpenCL* Applications release?
Intel® SDK for OpenCL* Applications 2012 is a production release for Microsoft* Windows* and Linux* operating systems. OpenCL* 1.1 full profile support on both CPU and Intel® Processor Graphics is available on the production Intel® HD Driver. Developer is capable to create and distribute OpenCL* based applications optimized for Intel® Core™ processors and Intel® Xeon® processors. Please read the License Agreement for better understanding of how to use OpenCL* in production applications on the top of Intel® Architecture Processors.

5. Is Intel implementation is fully conformant with the OpenCL* 1.1 Specification?
Yes. OpenCL* on Intel® processors and Intel® HD Graphics 4000/2500 are fully conformant with the OpenCL* 1.1 specification. For more information on the Khronos conformance test process and conformant products, go to http://www.khronos.org/adopters/.


6. What optional OpenCL* features are implemented?
Intel® SDK for OpenCL* Applications supports many optional OpenCL* features and extensions such as interoperability with DirectX*, OpenGL*, and Intel® Media SDK, and many more. For a full list of supported features and their descriptions, please see the Intel® OpenCL* SDK User's Guide.

7. Does Intel® HD Graphics generates code that fully utilizes the Execution units?
Generally, the Intel® HD Graphics driver is designed to generate and run OpenCL* code that fully utilizes the execution units (EUs). Nevertheless, it is recommended to read Intel® OpenCL* SDK Optimization Guide to learn how to get the best performance out of the Intel® HD Graphics.

8. Does Intel® OpenCL* SDK generate code that fully utilizes the Intel® Advanced Vector Extensions (Intel® AVX)?
Yes, Intel® OpenCL* SDK 1.5 introduces performance improvements that include full code generation on the Intel® Advanced Vector Extensions (Intel® AVX). Intel® AVX is a new 256-bit instruction set extension for Intel® Streaming SIMD Extensions SSE that was introduced with the 2nd Generation Intel® Core™ Processors. It is designed for applications that are Floating Point (FP) intensive. The Implicit CPU Vectorization Module generates the Intel® AVX code.

9. How long has Intel been involved in OpenCL*?
Intel has been engaged since early 2008 as a leading contributor to the Khronos* Compute Work Group. As the Khronos* founder, Intel has a significant impact on the OpenCL* feature set, and now with the release of Intel® SDK for OpenCL* Applications, Intel continues demonstrating its commitment to parallel computing tools and standards support.

10. Does Intel® SDK for OpenCL* Applications support previous generations of the Intel® Processor Graphics (integrated graphics)?
OpenCL* Support for Intel® Processor Graphics is available only on 3rd Generation Intel® Core™ Processors with Intel® HD Graphics 4000/2500. On previous generations,

The Intel® SDK for OpenCL* Applications also provides developers with the ability to develop and target OpenCL* applications on Intel CPUs on previous generations of Intel® Core™ and Intel® Xeon® processor-based platforms.

11. Where do I find more information about Intel® SDK for OpenCL* Applications?
https://software.intel.com/en-us/intel-opencl is a one-stop shop for downloads, support, and information on the Intel® SDK for OpenCL* Applications. Here you’ll find free downloads of the SDK, software, code samples, product documentation, information on interoperable products, videos, technical articles, case studies, and a support forum.

Product Support

Back to top

12. How do I get support for Intel® SDK for OpenCL* Applications?
You are welcome to join the Intel® SDK for OpenCL* Applications Support Forum to post your questions and issues. The support team monitors the discussion to address questions. This forum covers OpenCL* issues on both CPU and Intel® HD Graphics.

13. Where can I get more information on the Intel® HD Graphics 4000/2500?
Intel HD Graphics developers’ site is available at: http://www.intel.com/content/www/us/en/architecture-and-technology/hd-graphics/hd-graphics-developer.html . End User support for 3rd Generation Intel® Core™ Processors with Intel® HD Graphics 4000/2500 is available here.

14. What hardware platforms and Operating Systems are supported?
The table below provides high level support matrix of the OpenCL* capable platforms. For a full list of supported Intel® processors and devices, please see the Technical Requirements section of the Release Notes.

 

Device is supported

-

Device is not supported or is not available

 

Operating Systems:

Windows* OSs support

Linux* OSs support

OpenCL Devices:

CPU

Processor Graphics

CPU

Processor Graphics

Mobile/Desktop Processors

3rd Gen Intel® Core™ Processors

-

2nd Gen Intel® Core™ Processors and Previous Gen Intel® Core™ Processors

-

-

Intel® Core™ 2 processor family (Formerly Penryn)

* See compatible list here.

-

-

Intel® Celeron® Processors

-

-

-

-

Intel® Pentium Processors

-

-

-

-

Intel® Atom Processors

-

-

-

-

Server Processors

Intel® Xeon® Processor E3, E5, E7 Family

-

-

Intel® Xeon® Processor 3000/500/6000/7000 Sequence

* See compatible list here.

-

-

CPU only support on Intel® Core™ 2 processor family and Intel® Xeon® processors is limited to Intel® microarchitecture that supports the Intel® Streaming SIMD Extensions 4.1 (Intel® SSE 4.1) or higher.


15. What is the status of OpenCL* on Intel® Processors on Apple* Mac OS* X?
As of today, Apple* support OpenCL* as part of their Mac OS* X. We suggest you ask Apple for direct comment on specific features and compatibility.

16. How can I share my OpenCL* code with Intel?
This product support is done through the Intel® SDK for OpenCL* Applications Support Forum. The forum provides you the option to attach your code files to a forum post. If you do not want the community to see your code, you can mark the forum post as private and only Intel developers will see your files. However, we will continue to answer through public posts.

For sharing more information with Intel, we encourage you to join The Intel® Visual Adrenaline Software Development Program. Log into the program site and see our community and support offering to visual computing developers.

17. Can I use Intel® Developer Zone to promote my OpenCL* application?
OpenCL* developers are encouraged to join our online, free of charge, community and to explore and share with us the advantages of OpenCL* found on Intel® processors family. Hence, you are welcome to use our support forum and tell us and the community about your OpenCL* application.

Using Intel® SDK for OpenCL* Applications

Back to top

18. What is included in the Intel® SDK for OpenCL* Applications?

Intel® SDK for OpenCL* Applications 2012 is a software developer environment for OpenCL* applications that includes access to OpenCL* runtime and a compiler for Intel platforms (CPU and Processor Graphics), OpenCL* headers and libraries, code samples, product documentation, and development tools.

19. How do I get started using Intel® SDK for OpenCL* Applications?
Before installation, you must set up your environment as described in Technical Requirements section of the Release Notes. After downloading Intel® SDK for OpenCL* Applications, follow the instructions in the Installation Guide.

After installation, see the User's Guide to begin working with SDK.

To improve performance and get familiar with the methodology and tools, read the optimization guide,

20. How do I download the Intel® SDK for OpenCL* Applications?
The Intel® SDK for OpenCL* Applications 2012 is available as a free download for developers at www.intel.com/software/opencl.

21. How do I optimize my OpenCL* application to run on Intel® Processors Family?
Start with reading The Full Check List for Optimized OpenCL* Application . Advanced developers should read the Intel® SDK for OpenCL* Applications Optimization Guide. The document includes performance hints and examples of optimizations you can do in your code. We recommend you to use the Intel® SDK for OpenCL* Applications developer tools to create, debug, and tune tour applications.

22. Does the Intel® SDK for OpenCL* Applications implicit CPU vectorization module work automatically?
Yes, the vectorization module operates automatically while building an OpenCL* program. For more information please read the Auto vectorization of OpenCL* code with the Intel® OpenCL* SDK article


23. Is it possible to tell OpenCL* not to use all graphics Execution Units or CPU Cores?
By default the Intel® HD Graphics utilizes all Execution Units and this is not configurable.

For CPU however, the Intel® SDK for OpenCL* Applications 2012 provides support of the Devise Fission Extension (cl_ext_device_fission), which can be used to control a number of CPU cores used for OpenCL*. For more information on device fission please see the related article.

24. When would you suggest using Intel® Media SDK and OpenCL* together?
The Intel® Media SDK 2012 and the Intel® SDK for OpenCL* Applications 2012 are complementary tools. The Intel Media SDK provides the best performance for media encode, decode and processing using Intel® Processor Graphics. OpenCL* could be used in conjunction with the Intel Media SDK for custom video pre-processing filters running on either Intel® CPUs or Intel® Processor Graphics. The SDK includes a sample to illustrate exactly this .

25. Does Intel provide OpenCL* Samples? How can I download them?
Intel® SDK for OpenCL* Applications 2012 does provide code samples for both CPU and Processor Graphics. For each sample, an online sample page is available with sample description, white paper, and sample code archive (zip file). Sample codes are available at the Intel® SDK for OpenCL* Applications Samples page.

26. How can I debug my OpenCL* kernels?
The Intel® SDK for OpenCL* – Debugger is the Microsoft Visual Studio* plug-in, which enables developers for Windows* on Intel CPUs to step into OpenCL* kernels using the familiar graphical interface of the Microsoft Visual Studio* software debugger.

To get more debug capabilities developers can also use the printf function inside OpenCL* kernels on the CPU

27. How do I optimize my code using Intel® GPA?
The Intel® SDK for OpenCL* Applications provides integration with the Intel® Graphics Performance Analyzers (Intel® GPA) to enables optimization and analyzing of OpenCL* code in visual computing applications.

The following Intel® GPA components can be used:

  • Intel® GPA Platform Analyzer to trace the execution profiles of various OpenCL* tasks on the CPU over a period of time. (Execution on the Intel® Processor Graphics is not supported in this mode).
  • Intel® GPA System Analyzer for system utilization across the CPU and Intel® HD Graphics.

For more information read Tuning OpenCL* Applications with Intel® Graphics Performance Analyzers (Intel® GPA)

28. How can I optimize my code using Intel® VTune™ Amplifier XE?
Intel® SDK for OpenCL* Applications works with the Intel® VTune™ Amplifier XE 2011 to locate performance bottlenecks and analyze the performance results of your OpenCL* application running on CPU. For more information see Tuning OpenCL* Application with the Intel® VTune™ Amplifier XE.

29. What is the Intel® OpenCL* SDK Offline Compiler?
Intel® SDK for OpenCL* Applications provides a unique tool which offers full offline OpenCL* language compilation, including an OpenCL* syntax checker, cross hardware platform compilation support, Low Level Virtual Machine (LLVM) viewer, Assembly language viewer, intermediate program binaries generator, and full integration with Microsoft Visual Studio*

You can use the Offline Compiler tool in three modes:

1. GUI Stand Alone Interface

2. Command Line Interface

3. Integration with Microsoft Visual Studio Tool

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