OpenCL is designed to empower graphics processing units for non-graphical computing. The additions to the consortium-driven Open Computing Language include new compatibility with Direct X versions 9 and 11.
The Khronos Group has released an update to OpenCL (Open Computing Language), an open royalty-free standard for cross-platform parallel programming of modern processors. 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 gives any application access to the graphics processing unit (GPU) for non-graphical computing, in effect extending the power of the GPU beyond graphics.
“The OpenCL working group is listening carefully to feedback from the developer and middleware community to provide significant and timely functionality for heterogeneous computing in this cross vendor open standard,” said Neil Trevett, chair of the OpenCL working group, president of the Khronos Group and vice president of mobile content at NVIDIA. “The OpenCL working group is also broadening its membership and has growing representation from the mobile and embedded industries and is enabling innovative devices such as FPGAs to be driven through OpenCL.”
OpenCL 1.2 updates and additions include:
Device partitioning—enabling applications to partition a device into sub-devices to directly control work assignment to particular compute units, reserve a part of the device for use for high priority/latency-sensitive tasks, or effectively use shared hardware resources such as a cache;
Separate compilation and linking of objects—providing the capabilities and flexibility of traditional compilers enabling the creation of libraries of OpenCL programs to which other programs may link;
Enhanced image support—including added support for 1D images and 1D & 2D image arrays. Also, the OpenGL sharing extension now enables an OpenCL image to be created from OpenGL 1D textures and 1D & 2D texture arrays;
Built-in kernels—represent the capabilities of specialized or non-programmable hardware and associated firmware, such as video encoder/decoders and digital signal processors, enabling these custom devices to be driven from and integrated closely with the OpenCL framework;
DX9 Media Surface Sharing—enables efficient sharing between OpenCL and DirectX 9 or DXVA media surfaces;
DX11 Surface Sharing—for seamless sharing between OpenCL and DirectX 11 surfaces.
OpenCL 1.2 continues the original vision of providing a common environment for parallel programming in a backwards-compatible specification, thanks to the cooperation of more than thirty industry-leading companies including Intel, Nvidia, AMD, ARM, and Fixstars Corporation.
Khronos has updated and expanded its comprehensive OpenCL conformance test suite to ensure that implementations of the new specification provide a complete and reliable platform for cross-platform application development. The OpenCL 1.2 specifications, online reference pages and reference cards are available at www.khronos.org/opencl/.