Today, at SIGGRAPH Asia in Singapore, the Khronos Group, a self-described "member-funded industry consortium focused on the creation of open standard, royalty-free APIs to enable the authoring and accelerated playback of dynamic media on a wide variety of platforms and devices," released the OpenCL 1.0 specification, which the association describes as "the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices."
The release of OpenCL 1.0 is a giant step towards the long-sought goal of industry-wide GPGPU (general-purpose computation on GPUs), in which the massively parallel capabilities of GPUs (graphics-processing units) are brought to bear on general-purpose applications that would benefit from highly parallel processing. Not only would such current image-based tasks as media processing, video and sound editing, and image processing be able to tap into the resources of GPUs, but GPGPU might also enable as-yet-impossible operations such as real-time ray tracing, infallible voice recognition, and webcam-based lip reading.
The key word, of course, is "might." OpenCL does, however, have enough promise that both Nvidia and AMD also released statements today, with Nvidia announcing its "full support" and AMD saying that it plans to "rapidly adopt the OpenCL 1.0 programming standard and integrate a compliant compiler and runtime into the free ATI Stream SDK." Note also that OpenCL is a cross-platform specification, and not tied to one manufacturer's GPU, such as is Nvidia's CUDA.
What's more, the OpenCL standard has been "created and ratifed" by (take a deep breath) 3DLABS, Activision Blizzard, AMD, Apple, ARM, Barco, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, HI, IBM, Intel Corporation, Imagination Technologies, Motorola, Nokia, NVIDIA, QNX, Samsung, TAKUMI, Texas Instruments, and others.
No matter how you slice it, that's a pretty impressive cast of characters.
Among all of those players, the most immediate beneficiary should be Apple, which provided the preliminary OpenCL specification six months ago. The company's planned upgrade/bug-fix to its current Leopard iteration of Mac OS X - cutely dubbed Snow Leopard and announced in June of this year - is scheduled to bring OpenCL to the masses when it is released next year. Some even say it will arrive as early as March. Apple's marketing materials claim that OpenCL "makes it possible for developers to efficiently tap the vast gigaflops of computing power currently locked up in the graphics processing unit (GPU). With GPUs approaching processing speeds of a trillion operations per second, they’re capable of considerably more than just drawing pictures. OpenCL takes that power and redirects it for general-purpose computing."
Marketing-speak, to be sure, but Apple's promise of zippy OpenCL computing in the 2009 timeframe sounds mighty good to us.
You'll notice, however, that one prominent name is missing from the "created and ratified" gang listed above: Microsoft. And as today's TG Daily astutely points out, "If [OpenCL] provides those dramatic speed improvements Apple promises and if it sparks the development of a wave of new applications, then Microsoft may have a much bigger problem at the end of next year than it has today. A cleaned up interface and touchscreen support [in Windows 7] may not cut it." ®