Download tutorial code here.
Based on an IWOCL 2017 tutorial Unlock Intel GPUs for High Performance Compute, Media and Computer Vision.
Introduction
Intel provides many extensions to the Khronos OpenCL(tm) standard to help you utilize the full range of hardware capabilities.
- Subgroups
- Video Motion Estimation (VME)
- VEBox
These extensions are not standalone. They build upon each other.
The tutorial code focuses on subgroups, VME, and VEBox. Image processing and sharing extensions are also used in the tutorials code as solution components.
For more information on Intel extensions: https://software.intel.com/en-us/articles/opencl-intel-graphics-extensions
Subgroups
Intel subgroups are
- subset of a work group
- equal to the SIMD width (8,16,or 32)
- in the same hardware thread of the EU
- share thread resources (including register space)
- execute together
Intel subgroup functions add
- barrier, broadcast, reduce, scan
- shuffle
- block read/write
More info: Spec
Video Motion Estimation (VME)
Intel Gen GPUs accelerate the search for motion in video. This is a core codec component but can also be used in a wide range of applications from custom bitrate control to computer vision.
VEBox
Intel GPUs contain a specialized IP block designed for video enhancement operations.
For more info:
OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos