More than one year (18 months to be accurate) after OpenCL 1.1 specs , Khronos has published yesterday the specifications of OpenCL 1.2. The main new features brought by OpenCL 1.2 are 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:
- 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 for other programs to link to.
- 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.
You can download the complete specifications HERE (PDF – 2749KB).
Related links:
Source: Geeks3D’s forum
Nice, but, is it planned any equivalent to cudaMemcpyToSymbol() ? , that would simplify OpenCL programs a lot.