Offload Compute-Intensive Workloads


Customize heterogeneous compute applications and accelerate performance with kernel-based programming.

The OpenCL™ platform is the open standard for general-purpose parallel programming of heterogeneous systems. It provides a uniform programming environment that's used to write portable code for client PCs, high-performance computing servers, and embedded systems that leverage a diverse mix of:

  • Multicore CPUs
  • Graphic processors
  • FPGAs
  • Other parallel processors and coprocessors

The OpenCL Platform Working Group (led by the Khronos Group*) defines this standard.

Built for usability and performance, the 2.1 version of the OpenCL standard is a significant evolution.

  • Additional subgroup functionality
  • Ability to copy kernel objects and states
  • Ingest SPIR-V* code by runtime
  • Deploy priority hints for queues

All 7th generation and newer Intel® processors with integrated Intel® Graphics Technology support this version.

Who Should Use the OpenCL™ Standard?

This standard greatly improves speed and responsiveness for image and video processing. It can also be applied to applications in numerous market categories, from gaming and entertainment to scientific, medical, and financial software. For visual computing applications, it provides added value by enabling a better use of platform resources for graphics tasks. It is interoperable with Microsoft DirectX*, OpenGL*, and video acceleration APIs. As well, it is extendable, such as with video motion estimation extensions from Intel.

Features

  • Develop and optimize OpenCL™ applications on Intel® platforms in a comprehensive environment
  • Use for heterogeneous programming
  • Support offloading compute-intensive parallel workloads to Intel® Graphics Technology

Increase Productivity & Efficiency

  • Perform custom development across multiple hardware types. While not performance portable, it reduces development learning time to days for new hardware, compared to months for hardware-specific stacks.
  • Use the OpenCL application to extend pipelines written using your custom algorithms with the Intel® Media SDK and OpenVINO toolkit.
  • Optimize system performance and power with analyzers (such as Intel VTune Amplifier) in Intel® System Studio.

To learn more about the OpenCL standard, see the Khronos Overview.

To download driver components, see OpenCL Runtimes for Intel Processors.

Technical Specifications

Processors1

CPU and GPU target support:

  • Iris® Plus graphics 600 series and Intel® HD Graphics 600 series:
    • 7th generation Intel® Core™ processors
  • Iris® Pro graphics 500 series, Iris® graphics 500 series, and Intel HD Graphics 500 series:
    • 6th generation Intel Core processors
    • Pentium® processor with Intel HD Graphics 505: J4000 series (J4205) and N4000 series (N4200)
    • Celeron® processor with Intel HD Graphics 500: J3000 Series (J3455, J3355) and N3000 Series (N3350, N3450)
  • Iris Pro graphics 6000 series, Iris graphics 6000 series, Intel HD Graphics 6000 series, and Intel HD Graphics 5000 series:
    • 5th generation Intel Core processors
  • Iris Pro graphics P500 series and Intel HD Graphics P500 series:
    • Intel® Xeon® E3-1500 processor, version 5
  • Iris Pro graphics P6300 and Intel HD Graphics P5700
    • Intel Xeon E3-1200 processor, version 4

CPU target support:

  • 1st - 4th generation Intel Core processors
  • 1st - 4th generation Intel Xeon processors

OpenCL Application Versions

  • 1.2
  • 2.0
  • 2.1

Note Support may vary based on the platform configuration.

Development Tools & Environments

  • Microsoft Visual Studio* 2015 or newer—includes the 2019 version (Windows*)
  • Eclipse Oxygen*, version 4.7
  • neon™ framework, version 4.6

Operating Systems

  • Windows® 10 (64-bit desktop mode)
  • CentOS*, version 7.4
  • Ubuntu*, version 18.04
  • Yocto Project*2

1 Processor support may vary based on operating system.

2 Yocto Project is supported as a target configuration only. Development is supported on a Linux host.

For a full list of supported configurations, see the release notes.

 
Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.