Tutorial: Unlock Intel® GPU capabilities with Intel OpenCL™ Extensions

Published: 05/23/2017  

Last Updated: 05/22/2017

By Jeffrey McAllister

Download tutorial code and GPU compute samples media data:

IWOCL_2017_Tutorial.tgz (110.95 MB)
Download

yuv_samples.tgz (27.94 MB)
Download

 

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™ 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: /content/www/us/en/develop/articles/opencl-intel-graphics-extensions.html

 

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

 

Product and Performance Information

1

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