Quantcast
Channel: Intel Developer Zone Articles
Viewing all articles
Browse latest Browse all 3384

Intel® OpenCL™ Graphics Extensions

$
0
0

OpenCL Extensions available in Intel® SDK for OpenCL™ Applications

The following tables contain information about extensions to the Khronos Group OpenCL™ standard available for Intel processors.   

Notice: Not all extensions are available in all versions of the OpenCL drivers for each OS. Some features are only available on certain hardware platforms or in certain driver baselines. 

 

Media Extensions

These extensions enable video processing applications to access hardware features in Intel processors.

Extension NameDescriptionLinks

cl_intel_advanced_motion_estimation

cl_intel_motion_estimation

 

Custom video motion estimation (VME) extensions enable encoding solutions enhancing the capabilities of Intel Media SDK. This includes custom bitrate control algorithms, frame-based motion estimation enhancements, bi-directional skip checks, MV costing, and intraframe prediction.

Notes:

  • Version 2 of this spec was introduced in early 2016.
  • Advanced VME allows access to a superset of features of the original cl_intel_motion_estimation extension  

For more info:https://software.intel.com/en-us/articles/intro-to-advanced-motion-estimation-extension-for-opencl

Motion estimation samples available in Media Server Studio samples

 

Spec
cl_intel_packed_yuvYUV is usually a planar format.  This extension provides support for a few specific formats of packed YUV images. Spec

 

Sharing Extensions

This group of extensions enables interoperability between OpenCL and other APIs using Intel GPUs.

Extension NameDescriptionLinks
cl_intel_simultaneous_sharing

The OpenCL 1.2 Extension Spec forbids interoperability with multiple graphics APIs at clCreateContext or clCreateContextFromType  time.  It defines that CL_INVALID_OPERATION should be returned in such cases.

The goal of this extension is to relax the restrictions and allow simultaneous use of API combinations as supported by a given OpenCL device.

Spec
cl_intel_va_api_media_sharing

Linux/Android Media Sharing

See https://software.intel.com/en-us/articles/tutorial-opencl-interoperability-with-video-acceleration-api-on-linux-os

Used in Media Server Studio samples

Spec

cl_intel_d3d11_nv12_media_sharing

cl_intel_dx9_media_sharing

Windows sharing APIs (created before Khronos extensions below.)

https://software.intel.com/en-us/articles/d3d9-media-surface-sharing-between-intel-quick-sync-video-and-opencl-on-intel-hd-graphics

Used in Media Server Studio samples

d3d11 Spec

dx9 Spec

cl_khr_dx9_media_sharing

cl_khr_d3d10_sharing

cl_khr_d3d11_sharing

Sharing for DirectX 9, 10, 11

https://software.intel.com/en-us/articles/opencl-and-intel-media-sdk

 

dx9 Spec

d3d10 Spec

d3d11 Spec

cl_khr_gl_sharing

cl_khr_gl_msaa_sharing

cl_khr_gl_depth_images

cl_khr_gl_event

Sample: https://software.intel.com/sites/default/files/managed/2c/79/intel_ocl_ogl_interop_win.zip 
Related Pages:
https://software.intel.com/en-us/articles/opencl-and-opengl-interoperability-tutorial

gl_sharing Spec

gl_msaa_sharing Spec

gl_depth_images Spec

gl_event Spec

 

 

Subgroups Extensions

Work items in a subgroup can share data without implementing shared local memory or using barriers. This extends the work group concept to allow more efficient data sharing.

Extension NameDescriptionLinks
cl_intel_subgroups

Enables work-items in a workgroup to work together let work items share data without local memory and global barriers. Similar to OpenCL 2.0 Subgroups.

https://software.intel.com/en-us/articles/sgemm-for-intel-processor-graphics

https://software.intel.com/en-us/articles/box-blur-filter-using-intel-subgroup-extensions-in-opencl

Spec
cl_intel_required_subgroup_sizeThe goal of this extension is to allow programmers to optionally specify the required subgroup size for a kernel function.  This information is   important for the correctness of many subgroup algorithms, and in some cases may be used by the compiler to generate more optimal code.Spec
cl_khr_subgroupsImplementation controlled division of a workgroup allowing independent forward progress within the workgroup. This feature was promoted to Core in OpenCL 2.1. Spec

 

 

Other Extensions

Extension NameDescriptionLinks
cl_intel_accelerator

Basic accelerator support


The accelerator extension consists of a unified set of OpenCL runtime APIs to create, query, and manage the lifetime of objects which represent acceleration processors, engines, or algorithms.

cl_intel_accelerator.txt

Spec

cl_intel_driver_diagnostics

This extension allow the driver to pass additional strings containing diagnostic information. The diagnostic messages can help to understand how the driver works and can provide guidance to modify an application to improve performance.

Related Pages: 

Spec

 

cl_khr_3d_image_writesEnables writes to 3D image objectsSpec
cl_khr_byte_addressable_storeRemoves restrictions of built-in types (Core feature of 1.1 maintained for backward compatibility). Needed to write to elements of a pointer or struct of type char, uchar, char2, uchar2, short, ushort, and half.Spec
cl_khr_spir

OpenCL Standard Portable Intermediate Representation (SPIR) non source representation of OpenCL.

https://software.intel.com/en-us/articles/using-spir-for-fun-and-profit-with-intel-opencl-code-builder

Spec
cl_khr_fp16Half-precision floating-pointSpec
cl_khr_fp64IEEE-754 double-precision floating-point supportSpec

cl_khr_global_int32_base_atomics

32-bit integer base atomic operations in global memorySpec
cl_khr_global_int32_extended_atomics32-bit integer extended atomic operations in global memorySpec
cl_khr_icdAccess Khronos OpenCL installable client driver loader (ICD Loader)Spec
cl_khr_image2d_from_buffer

2D image from buffer creation support

https://software.intel.com/en-us/articles/using-image2d-from-buffer-extension

Spec

cl_khr_mipmap_image

cl_khr_mipmap_image_writes

Ability to create / read mipmapped images

Adds ability to write mipmapped images, requires cl_khr_mipmap_image

Spec 

 

cl_khr_depth_images  Depth ImagesSpec
cl_khr_throttle_hintsExtension to OpenCL 2.1 API which allows the driver to implement throttling behavior. Throttling behavior is implementation specificSpec

 

Deprecated Extensions

Extension NameDescription
cl_intel_ctzBuilt-in count trailing zeroes

 


Viewing all articles
Browse latest Browse all 3384

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>