updated 08:00 pm EST, Tue November 15, 2011
Enhances image, DirectX support
Open Computing Language (OpenCL), the framework that allows applications to use GPU cards for non-graphical computing, has been updated to version 1.2, just 18 months after v1.1. Used on all major platforms, OpenCL 1.2 enhances parallel programming flexibility, and now includes support for device partitioning, DX9 Media Surface Sharing, DX11 Surface Sharing, enhanced image support and separate compilation and linking of objects.
The framework includes a language for writing kernels along with APIs to control them, and now features built-in kernels usable with non-programmable hardware and firmware, allowing custom devices to work with other devices that use the OpenCL framework. The new device partitioning enables apps to partition a device into sub-devices, which allows them to assign specific tasks to particular compute units or reserve a part of the device for latency-sensitive tasks, or even to use shared hardware resources as a cache.
The addition of separate compilation and linking of objects provides the flexibility of traditional compilers, which enables library creation in OpenCL programs that other programs can link to. Image support has also been expanded, adding support for 1D images and 2D image arrays. An OpenCL image can now be created from an OpenGL 1D texture or 1D and 2D texture arrays.
The specifications and other documentation for v1.2 are now available from the Khronos website. A presentation on the new v1.2 specification is being held tomorrow -- Wednesday, November 16th -- at the SC11 supercomputing conference in Seattle, from 5:30-7:00 p.m. in Room TCC 101.