OpenCL™ Runtimes for Intel® Processors

Published: 03/02/2020  

Last Updated: 02/01/2023

By Michael R Carroll, Jennifer L Jiang

Deploy OpenCL™ Runtimes

Obtain runtimes to execute or develop OpenCL™ applications on Intel­® Processors

Important Change

  • There is a change in OpenCL™ CPU runtime for Windows* distribution in the 2020 February release to be consistent with Linux* distribution. The OpenCL CPU runtime is removed from the OpenCL driver for Windows starting in the 2020 February release version "igfx_win10_100.7870.exe". But the installer of the new driver did not remove the old OpenCL CPU runtime when you upgrade the newer driver, so you may have two OpenCL CPU runtimes on your system. This issue is already fixed in the installation script on github here.
  • Intel® SDK for OpenCL Applications is EOL. The transition to Intel® oneAPI and its unified, cross-architecture programming model brings greater efficiency and reuse across hardware targets. See the Intel® oneAPI Programming Guide for information migrating OpenCL code and OpenCL interoperability by way of SYCL* objects. 

 

Intel® Graphics Technology Runtimes

Execute OpenCL™ applications on Intel® Processors with Intel® Graphics Technology.

  • Specifically target Intel® HD Graphics, Intel® Iris® Graphics, and Intel® Iris® Pro Graphics if available on Intel® Processors.
  • Runtimes for Intel® Graphics Technology are often deployed in tandem with an Intel® CPU runtime.

6th Generation Intel® Core™ Processor Example

Check release notes to ensure supported targets include your target device. 

Linux* OS

Manual Download and Install | Build | README | FAQ

Note: The latest OpenCL™ runtime for CPU requires GNU* gcc version 7.3 or newer.

 

Considerations for deployment:

  • Ensure the deployment system has the (libOpenCL.so) ICD loader runtime from either:
    • Your system package manager (for example with the unofficial ocl-icd )
      • Useful package manager search hints:
        • apt update; apt-file find libOpenCL.so
        • yum provides "*/libOpenCL.so"
    • Build from the official Khronos ICD Loader reference repository.
  • The Intel® Graphics Compute Runtime for OpenCL™ Driver depends on the i915 kernel driver. Necessary i915 features are available with relatively recent Linux* OS kernels. The recommended kernel is the validation kernel cited in documentation. In general, deployments after the 4.11 kernel should be OK. Make sure to review the release notes and documentation for more specifics.

 

Windows* OS

  • Intel® Graphics Compute Runtime for OpenCL™ Driver is included with the Intel® Graphics Driver package for Windows* OS.
  • Download Options
    • System Vendor
      • See your vendor website for a graphics or video driver download for the system
    • Intel® Download Center
      • Navigate to “Graphics Drivers” for recent releases.
      • Try the system vendor first in consideration of vendor support. System vendors may disable Intel® Graphics Driver install.
    • Intel® Driver Update Utility
    • The graphics driver package is built in with Windows* 10 OS install. However, the built-in default deployment may not contain latest features.
  • Release Notes
    • In the Download Center navigate to “Graphics Drivers” for Release Notes.

Intel® Xeon® Processor OR Intel® Core™ Processor (CPU) Runtimes

Execute OpenCL™ kernels directly on Intel® CPUs as OpenCL™ target devices.

  • Consider an OpenCL™ CPU implementation for Intel® systems without Intel® Graphics Technology.
  • Systems with Intel® Graphics Technology can simultaneously deploy runtimes for Intel® Graphics Technology and runtimes for Intel® CPU (x86-64).
  • For application developers, the CPU-only runtime is included with the Intel® oneAPI Base Toolkit:  Intel® oneAPI DPC++/C++ Compiler component. 

6th Generation Intel® Core™ Processor Example

OpenCL™ CPU runtime is a component of Intel® oneAPI DPC++/C++ Compiler. You can download the OpenCL CPU RT standalone installer package for Windows*, but not for Linux*. Check system requirements or the release notes to ensure supported targets include your target device. 

Linux* OS 

 

Windows* OS

 

Develop OpenCL™ Applications

Tools to develop OpenCL™ applications for Intel® Processors

Intel® oneAPI: DPC++ Compiler

  • DPC++/SYCL programs can run SYCL kernels by way of underlying OpenCL™ implementations.
  • OpenCL-C kernels can also be directly ingested and run by a SYCL runtime. Users of the OpenCL C++ API wrapper may find the SYCL specification particularly appealing.
  • Explore the Intel® oneAPI: DPC++ Compiler, oneAPI samplesOpenCL™ Interoperability, as well as training videos part1 and part2 on techdecoded.intel.io.

Intel® Distribution of OpenVINO™ toolkit

  • The Intel® Distribution of OpenVINO™ toolkit is available for vision and deep learning inference. It benefits from OpenCL™ acceleration for each of these components:
    • Intel® Deep Learning Deployment Toolkit
    • OpenCV
    • OpenVX*
  • For a developer oriented overview, see videos on the techdecoded.intel.io training hub.

Intercept Layer for Debugging and Analyzing OpenCL™ Applications

  • The Intercept Layer for Debugging and Analyzing OpenCL™ Applications (clIntercept) can intercept, report, and modify OpenCL™ API calls.
  • No application-level modifications nor OpenCL™ implementation modifications are necessary.

 

Additional resources

 

*OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.