Apple's Snow Leopard hit the streets friday as the first major OS to support OpenCL. OpenCL, the Open Computing Language, was originally proposed by Apple to support parallel programming on GPUs and handed over to the Khronos Group, the same independent standards organization that manages the OpenGL standard for 3D rendering. Support for OpenCL may start with Snow Leopard but it will go well beyond that. AMD and Nvidia will have OpenCL drivers for their GPUs under Windows and Linux. AMD and Intel will support OpenCL on their CPUs (including Intel's Larrabee). AMD has already shipped its first OpenCL implementation for its Athlon and Opteron processors. For those folks with OpenCL already up and running on their Apple computers under Snow Leopard, there are two benchmark applications out, so you can see just what OpenCL can do for you.
MacResearch has posted part two in their series of OpenCL tutorials that we first spoke of here. This second installment gives an overview of OpenCL Objects and the steps involved in running an OpenCL application.
PyOpenCL has been released. This OpenCL wrapper for Python has complete documentation and a wiki setup. Key features of PyOpenCL are: object cleanup tied to lifetime of objects; the full power of OpenCL’s API at your disposal with every obscure get_info() query and all CL calls are accessible; automatic error checking; base layer is written in C++; complete documentation; a liberal open-source and free for commercial, academic, and private use under the MIT/X11 license. If you have feedback on this wrapper, you can contribute to a live discussion in the Khronos Message Boards.
With the launch of Snow Leopard this Friday, now is the time to start getting revved up for some of the new technologies coming with this release. One of them, OpenCL. MacResearch.org has done a great overview of what OpenCL is and a beginners tutorial on how it works and how to use it.
AMD Architect Benedict Gaster recently wrote an 'Hello World' tutorial providing a simple introduction to OpenCL. "OpenCL is a young technology, and, while a specification has been published, there are currently few documents that provide a basic introduction with examples. This article helps make OpenCL easier to understand and implement."
Members of the Khronos Group will be presenting a half day tutorial at Hot Chips 21 this August 23rd 2009 between 1:30 and 5:30 in the Memorial Auditorium at Stanford University California. The authors include Neil Trevett from NVIDIA, Mike Houston from AMD, Tim Mattson from Intel, Chris Lamb from NVIDIA, Eric Schenk from Electronic Arts and Kari Pulli from Nokia. Registration fees range from students at $95 to non-members at $220 for the Tutorials. Registration fees for Tutorials include a printed set of tutorial notes, continental breakfast, lunch, coffee break, and invitation to the evening Wine and Cheese Reception on Sunday, August 23, 2009.
If you missed the OpenCL BOF at Siggraph, no worries, the Khronos Group has posted the OpenCL BOF slides used during the presentation. You may view and download the slides in PDF format in the Khronos Developer Library.
AMD announced it is now offering a free OpenCL™ for CPU beta download as part of the ATI Stream SDK v2.0 Beta Program. The beta will help programmers to more easily develop parallel software programs and take further advantage of multi-core x86 CPUs to accelerate software and deliver a better computing experience. AMD has submitted conformance logs from its Microsoft® Windows® and Linux® CPU beta releases to the Khronos Working Group for certification.
TechReport recently spoke with Neil Trevett about OpenCL, who fills positions as both the Khronos Group's President and Nvidia's VP of Embedded Content.This two page report is well written and an easy read.
AMD just published a public OpenCL Beta for the CPU, soon to be followed with support for AMD’s latest GPUs. OpenCL is a young technology and there are few documents that provide a basic introduction with examples. This article, by Benedict Gaster from AMD, helps make OpenCL easier to understand and implement.