ENP Newswire -
Release date- 22072013 - SIGGRAPH -
OpenCL 2.0 is a significant evolution of the open, royalty-free standard that is designed to further simplify cross-platform, parallel programming while enabling a significantly richer range of algorithms and programming patterns to be easily accelerated. As the foundation for these increased capabilities, OpenCL 2.0 defines an enhanced execution model and a subset of the C11 and C++11 memory model, synchronization and atomic operations. The release of the specification in provisional form is to enable developers and implementers to provide feedback before specification finalization, which is expected within 6 months. The OpenCL 2.0 provisional specification and reference cards are available at www.khronos.org/opencl/.
'The OpenCL working group has combined developer feedback with emerging hardware capabilities to create a state-of-the-art parallel programming platform - OpenCL 2.0,' said
Updates and additions to OpenCL 2.0 include:
Shared Virtual Memory
Host and device kernels can directly share complex, pointer-containing data structures such as trees and linked lists, providing significant programming flexibility and eliminating costly data transfers between host and devices.
Device kernels can enqueue kernels to the same device with no host interaction, enabling flexible work scheduling paradigms and avoiding the need to transfer execution control and data between the device and host, often significantly offloading host processor bottlenecks.
Generic Address Space
Functions can be written without specifying a named address space for arguments, especially useful for those arguments that are declared to be a pointer to a type, eliminating the need for multiple functions to be written for each named address space used in an application.
Improved image support including sRGB images and 3D image writes, the ability for kernels to read from and write to the same image, and the creation of OpenCL images from a mip-mapped or a multi-sampled OpenGL texture for improved OpenGL interop.
A subset of C11 atomics and synchronization operations to enable assignments in one work-item to be visible to other work-items in a work-group, across work-groups executing on a device or for sharing data between the OpenCL device and host.
Pipes are memory objects that store data organized as a FIFO and OpenCL 2.0 provides built-in functions for kernels to read from or write to a pipe, providing straightforward programming of pipe data structures that can be highly optimized by OpenCL implementers.
Most Popular Stories
- Twitter Names Woman to Board
- Obamacare Doing Just Fine, Ky. Governor Says
- Aspen Contracting Adding 300 Jobs
- Rand Paul Signs up for Obamacare
- Hispanic Employment Improves in November
- U.S. Chamber to Run Ads in Idaho, W.Va.
- U.S. Unemployment Rate Dips to 7 Percent
- Consumer Spending Rises, Incomes Fall
- Trapped Florida Whales Head for Deeper Waters
- American Eagle Issues Weak Q4 Outlook