Intel® SDK for OpenCL™ Applications

Customize heterogeneous compute applications and accelerate performance.

  • Uniquely offload compute to Intel® Graphics Technology that's tailored to your specific application needs
  • Deliver high-performance image and video processing pipelines
  • Enhance power efficiency
  • Take advantage of code builder functions for the OpenCL™ API to efficiently build, debug, and analyze kernel codes

Frequently Asked Questions

How do I quickly get started using the OpenCL™ standard on Intel® platforms?

The easiest way to start using the OpenCL standard on Intel platforms is to download the Intel® SDK for OpenCL™ applications. We offer Intel SDK for OpenCL applications 2019 (currently available as part of Intel® System Studio 2019), as well as Intel SDK for OpenCL applications 2017 R2.

Note: In order to use the SDK, you must download the runtime packages that correspond with your system. Intel distributions are free and can be downloaded from either the Download Center or from GitHub*. Additional resources include:

  • For Windows*, Linux*, or Android* clients using a Windows host, it may be necessary to download the latest OpenCL Driver.
  • For Linux clients using a Linux host, download the latest OpenCL Driver.
  • For the Intel SDK for OpenCL™ applications (2017 R2 version), use Windows and Linux OpenCL drivers.
  • For deployment on Windows and Linux systems, try Intel® System Studio (which includes the OpenCL SDK 2019, and development, debugging, and analysis tools) with a free 30-day trial.
  • For deployment on Linux systems, you can try Intel® Media Server Studio (which includes the code builder for the OpenCL platform, as well as development, debugging, and analysis tools), available as a free 30-day trial.
  • For Linux development that targets open-source OpenCL applications, use the Intel® Graphics Compute Runtime for OpenCL™ Driver.
  • For macOS* development, reference Apple* Support or use Apple Metal.
What is the OpenCL standard?
The OpenCL platform is the open standard for general-purpose parallel programming of heterogeneous systems. The OpenCL standard 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 multicore CPUs, graphic processors, and other parallel processors and coprocessors. The standard is defined by the OpenCL platform working group, led by the Khronos Group*.
Who uses the OpenCL standard and for what purpose?
The OpenCL standard greatly improves speed and responsiveness for image and video processing. It can also be applied to applications in numerous other market categories, from gaming and entertainment to scientific, medical, and finical software. For visual computing applications, the OpenCL standard provides added value as it enables developers to better utilize platform resources for graphics tasks. It is interoperable with Microsoft DirectX*, OpenGL*, and video acceleration (VA) APIs. As well, it is extendable, like with Intel’s extension for Video Motion Estimation (VME). For more information, see the case studies in Reviews.
What is the OpenCL standard, version 2.1? What are the benefits to developers?

The 2.1 version of the OpenCL standard is a significant evolution. It promises ease of use and performance with features such as additional subgroup functionality, copying kernel objects and states, ingesting SPIR-V code by runtime, executing priority hints for queues, and more. All 7th generation and newer Intel® processors with integrated Intel® Graphics Technology support the OpenCL 2.1 standard.

More developer benefits information, including conformance details for Intel products, are available at Khronos.

What is Intel’s involvement in the OpenCL standard development?
Intel actively participates in the OpenCL standard development. Currently, our top architects are working with their Khronos* peers on enhancements to the OpenCL standard. Intel believes in the open, standards-based solutions and is fully committed to developing the OpenCL standard and related standards in the future.
Which Intel® Software Development Tools support the OpenCL standard?

The Intel SDK for OpenCL applications consists of development, debugging, and analysis tools for the OpenCL standard.

For a set of tuning tools, see Intel® VTune™ Amplifier.

For support with profiling OpenCL applications, see Intel® Graphics Performance Analyzers. You can find more information on using this tool in Profiling OpenCL™ Applications with System Analyzer and Platform Analyzer.

For support on inference through customized layers in DNN that's based on the OpenCL standard, see Intel® Distribution of OpenVINO™ Toolkit.