OpenCL Coming Soon To A Supercomputer Near You

November 19, 2008

OpenCL is all about creating a parallel programming standard, just as OpenGL is for graphics. The specification is done and currently undergoing a final legal inspection to make sure there are no IP conflicts. So far they haven't been allowed to share the specification.

The first implementation is coming in Apples OS X 10.6, Snow Leopard.

Since I'm learning OpenGL I intend to learn this as well, as the two are intended to be used together. The coolest thing about this is that the standard could be implemented in something as small as an iPhone; thus allowing you to write the same code on everything from a phone to a real supercomputer (clearly with different performance!).

The link below is to the slide show form a recent technical briefing.

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.

OpenCL supports a wide range of applications, from embedded and consumer software to HPC solutions, through a low-level, high-performance, portable abstraction. By creating an efficient, close-to-the-metal programming interface, OpenCL will form the foundation layer of a parallel computing ecosystem of platform-independent tools, middleware and applications.

OpenCL is being created by the Khronos Group with the participation of many industry-leading companies and institutions including 3DLABS, Activision Blizzard, AMD, Apple, ARM, Barco, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, HI, IBM, Intel, Imagination Technologies, Kestrel Institute, Motorola, Movidia, Nokia, NVIDIA, QNX, RapidMind, Samsung, Seaweed, Takumi, Texas Instruments and UmeƄ University.

OpenCL - The open standard for parallel programming of heterogeneous systems

Update: The Specification was released