The Khronos Group - Connecting Software to Silicon

The Khronos Group is a not for profit industry consortium creating open standards for the authoring and acceleration of parallel computing, graphics, dynamic media, computer vision and sensor processing on a wide variety of platforms and devices. All Khronos members are able to contribute to the development of Khronos API specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge 3D platforms and applications through early access to specification drafts and conformance tests.

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.

Implementers of OpenCL

  • Intel
  • QUALCOMM
  • ARM
  • AMD
  • Apple, Inc.
  • Vivante Corporation
  • STMicroelectronics International NV
  • IBM Corporation
  • Imagination Technologies
  • Creative Labs
  • NVIDIA
  • Samsung Electronics

View a complete list of companies and their conformant products.

safety