The Intel® SDK for OpenCL™ Applications XE 2013 R3 includes certified OpenCL 1.2 support for Intel® Xeon® processors and Intel® Xeon Phi™ coprocessors for Linux* and Windows* operating systems. Targeted at developers of highly parallel applications including High Performance Computing (HPC), workstations, and data analytics, the new SDK broadens the parallel programming options on Intel architecture and allows developers to maximize data parallel application performance on Intel Xeon Phi coprocessors.
The SDK components:
Learn more about the SDK tools and/or other co-existing tools to (better) optimize your application.
The following samples are designed to work with Intel® SDK for OpenCL™ Applications XE 2013 R2 on Windows and Linux operating systems. The samples support Intel® Xeon® processors and Intel® Xeon Phi™ coprocessors.
Refer to the dedicated release notes for information on sample requirements, guidelines for building sample, and known issues.
List of Samples
|Sample Name||Complexity||Supported OS||Description|
This sample demonstrates how to enumerate available OpenCL™ platforms and devices. It also lists important capabilities per device.
Demonstrates basic ways of measuring performance of OpenCL kernels. It also demonstrates several simple optimizations.
Demonstrates how to implement median filter with OpenCL, relying on auto-vectorization performed by Intel® SDK for OpenCL Applications compiler. The kernel code minimizes number of color buffer accesses, removes synchronization points, and uses data-level parallelism.
Demonstrates an implementation of high dynamic range (HDR) tone mapping, an algorithm by OpenEXR* community implemented in OpenCL.
Demonstrates sorting routine in OpenCL. The sample utilizes properties of bitonic sorting networks for efficient SIMD-level parallelism using OpenCL vector data types.
Demonstrates how to use Monte-Carlo simulation for stock options pricing. The sample OpenCL kernel unifies three major algorithm components: Mersenne twister, Box-Muller transform, and option price calculation using Black-Scholes stock pricing model.
Demonstrates how to utilize OpenCL device for matrix multiplication for two dense square matrices.
Demonstrates how to utilize capabilities of a multi-device system, implementing different context scenarios.
- OpenCL™ Design and Programming Guide for the Intel® Xeon Phi™ Coprocessor
- Tutorial: Optimizing OpenCL applications for Intel Xeon Phi Coprocessor
- Intel Xeon Phi developer quick start guide
- Optimize with Intel® VTune Amplifier XE
- Get started writing code and running OpenCL applications on the Intel Xeon Phi Coprocessor
- What is OpenCL™?
- OpenCL™ (Open Computing Language) is an established 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 Processers, and other parallel processors and coprocessors. The standard is defined by the OpenCL Working Group, led by Khronos*. More information is available at: khronos.org/opencl
- What is the Intel® SDK for OpenCL Applications?
- Available as a free download, the Intel® SDK for OpenCL Applications provides a comprehensive development environment for OpenCL application on Intel platforms including compatible drivers, code samples, development tools, such as the Code Builder, optimization guide, and support for optimization tools.
- What is the extent of OpenCL support today, and what are the differences between the different versions of the SDK?
- Intel today supports OpenCL 1.2 on 3rd and 4th generation Intel® Core™ Processors with Intel® HD Graphics and Intel® Iris™ Graphics Family, Intel® Atom™ Processors with Intel HD Graphics, Intel® Xeon® processors, and Intel® Xeon Phi™ coprocessors. The following are the flavors of the SDK for OpenCL eevelopers:
- Intel® SDK for OpenCL™ Applications 2013: Supports visual computing applications on both CPUs and Intel Graphics on 3rd and 4th generation Intel® Core™ Processors and Intel Atom Processors formerly codenamed Bay Trail.
- Intel SDK for OpenCL™ Applications XE 2013: Supports highly-parallel compute applications on both Intel Xeon processors and Intel Xeon Phi coprocessors
(New!) Intel SDK for OpenCL Applications 2014 Beta: Extends the 2013 version with support for Android* OS as target platform for application development, support for Ubuntu* OS as host system for application development, and new tools like API Debugger. Products comparison available here
- How do I download the Intel SDK for OpenCL Applications?
- The various packages and versions of the Intel® SDK for OpenCL Applications are available as free downloads for developers at intel.com/software/opencl.
- What is OpenCL 1.2 and what benefits does it provide to developers?
- OpenCL 1.2 ratified by the Khronos group in December 2012. OpenCL 1.2 promises more flexibility in software design for OpenCL developers with improved compilation, linking, and library support, and improved graphics and media surface sharing. The Intel SDK for OpenCL Applications provides way to develop and use the new features available with the OpenCL technology version 1.2.
- Are Intel's implementations of the OpenCL Standard fully certified with the OpenCL 1.2 specification?
- The production versions of the OpenCL runtimes for 3rd and 4th Generation Intel Core Processors with Intel® Graphics, Intel Atom Processors formerly codenamed Bay Trail, for the Intel Xeon Processors, and Intel Xeon Phi coprocessors are fully certified with the OpenCL 1.2 specification.
- How long has Intel been involved in OpenCL technology?
- Intel was a founding member of the OpenCL Working Group, led by Khronos. Intel has been one of the leading voices in ensuring the OpenCL feature set supports OpenCL programmers on current and future Intel® Architecture.
- 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 CPU, Intel HD Graphics, and Intel Xeon Phi coprocessor.
- Where do I find more information about Intel® SDK for OpenCL Applications?
- The Getting Started With OpenCL Applications on Intel Developers Zone 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 the support forum.
- 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 need to share private information with the SDK support team, request support engineers to answer your thread in a private channel.
For sharing more information with Intel, we encourage you to become an Intel® Software Partner. Join us today at software.intel.com/en-us/partner-home.
- Does Intel provide OpenCL code samples? How can I download them?
- Intel provides OpenCL code samples for CPUs, Intel HD Graphics, and Intel Xeon Phi coprocessors. For each sample, an online sample page is available with sample description, white paper, and a package for sample code zip or tar file.
Intel SDK for OpenCL Applications - Samples are presented in two sets:
- Which debugging and optimization tools does Intel provide for OpenCL developers?
- Intel SDK for OpenCL Applications provides a comprehensive environment for building, debugging, and tuning your OpenCL applications. In addition, OpenCL profiling is available with Intel's profiling tools like the Intel® VTune™ Amplifier XE and the Intel® Graphics Performance Analyzers (Intel® GPA).
The SDK includes the following tools for OpenCL development:
- Kernel Builder for OpenCL™ API - enables kernels design and optimization
- Integration with IDEs
- OpenCL Kernel Debugger
Each SDK version includes a user guide with more details on available tools and provides guidelines on using them.
- What is Intel® SDK for OpenCL™ Applications XE 2013?
- Intel® SDK for OpenCL™ Applications XE 2013 is a comprehensive software development environment for OpenCL applications in the domain of highly parallel applications. It adds OpenCL 1.2 support on both Intel® Xeon® processors and Intel® Xeon Phi™ coprocessors.
- What's new with Intel® SDK for OpenCL™ Applications XE 2013 R3?
New features included in this release are:
- Gold support for OpenCL 1.2 using the Intel® Xeon Phi™ coprocessor on Windows* OS.
- Fixed kernel compilation crashes under debug and profiling modes.
- Performance improvements.
- New performance related environment variables on the Intel Xeon Phi coprocessors.
For more details go to Intel® SDK for OpenCL™ Applications XE release notes.
- What's new with Intel® SDK for OpenCL™ Applications XE 2013 R2?
- In addition to the OpenCL 1.2 support for Linux* OS, the R2 release adds Beta software support for OpenCL 1.2 using Intel Xeon Phi coprocessors on Windows* operating systems.
Other new features included in this release are:
- Support for Intel Xeon Processor E5-2600 Product Families
- Preview feature: Support for OpenCL SPIR 1.2 provisional specification
- Intel® VTune™ Amplifier XE 2013 source-view support for OpenCL Kernels on Intel Xeon Phi coprocessors.
- I have used previous versions, How can I upgrade for the latest production version?
- If you developed code with the previous version, your code is expected to work as is on the new version. Simply download the new Intel SDK for OpenCL Applications XE 2013 at intel.com/software/opencl-xe and then follow the installation notes available at Installation Notes.
- What hardware platforms and operating systems are supported?
- Intel SDK for OpenCL Applications XE supports Windows* 7, 8, Server 2008, Server 2012, RedHat Linux* and SUSE Linux* operating systems. For more details see the System Requirements section of the Release Notes.
- Where can I download the Intel SDK for OpenCL XE 2013?
- You can download the Intel SDK for OpenCL Applications XE 2013 from intel.com/software/opencl-xe.
- What is Intel® Xeon Phi™ Coprocessor?
- The Intel Xeon Phi coprocessor is the first product based on Intel® Many Integrated Core Architecture (Intel® MIC architecture), which targets highly parallel applications, also including High Performance Compute (HPC), workstations, and data analytics, to name just a few. Intel MIC architecture combines many Intel CPU cores onto a single chip. Developers interested in programming these cores can use standard programming methods.
- Will I need to have an Intel Xeon Phi Coprocessor to use this software?
- The Intel SDK for OpenCL Applications XE 2013 includes 2 packages: the SDK, and the CPU and coprocessor shared runtime. To run the coprocessor OpenCL device you need the Intel Xeon Phi coprocessor to be physically on your system, otherwise the installed runtime will provide OpenCL support only for the CPU. Thus the answer to this question is "Yes", however developers who do not have access to an Intel Xeon Phi coprocessor device will be able to start development on a CPU device and be ready for future availability of the coprocessor.
- Where can I purchase Intel Xeon Phi Coprocessor?
- For more information on availability of the Intel Xeon Phi coprocessors go to intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html
- Where can I learn more about Intel Xeon Phi Coprocessor?
- Information resources for Intel Xeon Phi coprocessor are available at software.intel.com/mic-developer.
- Is this implementation fully certified with the OpenCL 1.2 specification?
- Yes, the SDK XE 2013 R3 version implementation is fully certified with the OpenCL 1.2 specification.
- Does OpenCL fully utilize the Intel® Many Integrated Core Architecture (Intel MIC Architecture)?
- Intel SDK for OpenCL Applications XE 2013 implements implicit vectorization and threading systems that fully utilize the multicore, many-core, and vector technologies available with Intel Xeon processor and Intel Xeon Phi coprocessor.
- How do I get support for Intel SDK for OpenCL Applications XE 2013?
- 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 across the Intel Core processors and Intel Xeon processors, Intel Graphics, and Intel Xeon Phi coprocessors. Intel also provides direct support from the Intel Many Integrated Core Architecture Forum and the Parallel Programming Forum.
- Can I distribute applications developed with Intel SDK for OpenCL Applications XE 2013?
- Yes, this production software provides you the option to deploy applications with this software. Please read more in the product End-User License Agreement.
- Which debugging and optimization tools does Intel provide for OpenCL Developers for Linux* operating systems?
- Intel SDK for OpenCL Applications XE 2013 provides a comprehensive environment for the building, debugging, and tuning your OpenCL* applications. In addition, the SDK takes advantage of the Intel VTune™ Amplifier XE tool.
The table below shows the availability of OpenCL tools for Linux* operating systems running on Intel Xeon processors and the Intel Xeon Phi coprocessors.
Tool Intel® Xeon™ Processor Intel® Xeon Phi™ Coprocessor
Kernel Builder (Standalone and integration with Eclipse* IDE and Microsoft Visual Studio* 2008-2012 IDE)
Offline Compiler Command-Line Interface (standalone)
Step by Step Kernel Debugger
Intel® VTune™ Amplifier XE
More details available in the product's user guide
About OpenCL* with the Intel® Xeon Phi™ Coprocessor
The Intel® Xeon Phi™ coprocessor is the first product based on Intel® Many Integrated Core Architecture (Intel® MIC architecture), and it targets HPC segments such as oil exploration, scientific research, financial analyses, and climate simulation, among many others. Intel MIC architecture combines many Intel® CPU cores onto a single chip. Developers interested in programming these cores can use standard programming methods. The same OpenCL™ source code written for Intel® Xeon® processor can be reused on the Intel Xeon Phi coprocessor with minimum modifications.