The Khronos Group - 媒体创作与加速

Khronos Group 是由其成员所提供之基金支持的行业协会,专注于创立开放标准,免授权费的移动设备接口程序API, 用以实现多样化平台及设备上的高质量动态多媒体创作和加速。所有的Khronos工作组成员均可为Khronos API规范的制定贡献其力量,均可在相关标准公开部署前拥有各个发展阶段的表决权,更可通过及早接触相关标准草案及顺应性测试加速其先进的3D平台及相关应用程序的发布。

OpenCL - The open standard for parallel programming of heterogeneous systems

OpenCL™ is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices. OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications in numerous market categories from gaming and entertainment to scientific and medical software.

OpenCL 1.2

OpenCL 1.2 includes significant new functionality including:

The new OpenCL 1.2 specification released on November 15th 2011, provides enhanced performance and functionality in response to requests from the developer community – while retaining backwards compatibility with OpenCL 1.0 and 1.1. New features in OpenCL 1.2 include seamless sharing of media and surfaces with DirectX® 9 and 11, enhanced image support, custom devices and kernels, device partitioning and separate compilation and linking of objects.

OpenCL 1.1

OpenCL 1.1 includes significant new functionality including:

  • Host-thread safety, enabling OpenCL commands to be enqueued from multiple host threads;
  • Sub-buffer objects to distribute regions of a buffer across multiple OpenCL devices;
  • User events to enable enqueued OpenCL commands to wait on external events;
  • Event callbacks that can be used to enqueue new OpenCL commands based on event state changes in a non-blocking manner;
  • 3-component vector data types;
  • Global work-offset which enable kernels to operate on different portions of the NDRange;
  • Memory object destructor callback;
  • Read, write and copy a 1D, 2D or 3D rectangular region of a buffer object;
  • Mirrored repeat addressing mode and additional image formats;
  • New OpenCL C built-in functions such as integer clamp, shuffle and asynchronous strided copies;
  • Improved OpenGL interoperability through efficient sharing of images and buffers by linking OpenCL event objects to OpenGL fence sync objects;
  • Optional features in OpenCL 1.0 have been bought into core OpenCL 1.1 including: writes to a pointer of bytes or shorts from a kernel, and conversion of atomics to 32-bit integers in local or global memory.

OpenCL 1.0

OpenCL (Open Computing Language) is the first open, royalty-free standard for general-purpose parallel programming of heterogeneous systems. OpenCL provides a uniform programming environment for software developers to write efficient, portable code for high-performance compute servers, desktop computer systems and handheld devices using a diverse mix of multi-core CPUs, GPUs, Cell-type architectures and other parallel processors such as DSPs.