MacResearch has posted part 6 in their series of OpenCL tutorials. In this episode, a real-world code that has been parallelized by porting to the GPU. The use of shared memory to improve performance is covered as well as a discussion of synchronization points for coordinated work within a work-group. Source code is provided.
NVIDIA just released its first OpenCL-conformant graphics driver to the public. Up to now, it was only available to registered members of its GPU Computing developers program. Get your OpenCL driver today.
A new project on Google code offers up Java/Scala bindings for OpenCL. OpenCL4Java is a library that provides three levels of Java bindings for OpenCL: C-style wrappings auto-JNAerated by JNAerator; Thin Object-Oriented wrappings that hide away the complexity of the C-style wrappings; ScalaCL, which is a kind of "parallel expressions for dummies" in Scala. A thread on the OpenCL message boards is available for feedback.
NVIDIA has released the first public OpenCL conformant GPU drivers as well as a powerful performance profiling tool and an OpenCL Best Practices Guide. The OpenCL Visual Profiler uses the extensive performance instrumentation in NVIDIA’s OpenCL drivers and hardware performance signals designed into NVIDIA GPUs to provide developers with insight into performance bottlenecks and opportunities for optimization. The OpenCL Best Practices Guide designed to help OpenCL developers programming for the CUDA architecture implement high performance parallel algorithms and understand best practices for GPU Computing. The OpenCL drivers, Visual Profiler, and Best Practices Guide are all available on the NVIDIA developers website.
MacResearch initially launched its OpenCL Tutorials in August. Now they have five OpenCL tutorials in video format. The latest in their series is a video Questions and Answers session based on feedback from Episode 4 - Memory Access and Layout. If you are just getting started with OpenCL, these video tutorials from Mac Research make a great starting place.
AMD has released an update to their ATI Stream Software Developers Kit (SDK), putting v.20 at Beta 3. This version brings recognition of 64-bit atomic built-ins as well as fixes to compiler and code generation issues. The Khronos Group has a forum thread where you can express your thoughts on the ATI Stream SDK and OpenCL.
According to Bright Side of News, AMD is dedicated to support open physics standards, with Pixelux and Bullet taking the prime spots. Bullet Physics Library is an open source physics library that is now getting translated into OpenCL, thanks to the effort of companies such as AMD.
The Khronos Group has expanded the OpenCL section of their public forums, giving an area for users and coders to mingle together. The forums now contain categories for beginner and advanced coders, hardware and software issues for end users, OS specific question and help, and an area to discuss SDK's, toolkits and wrappers. The Khronos Group message boards are visited by the developers behind all the Khronos API's on a regular basis, and offer the best place to get help and give help. We look forward to seeing you on the Khronos forums soon.
Michael Smith posted on his twitter page this morning that WebGL has appeared in the Mozillatrunk. It was just three days ago that WebGL was first noticed in WebKit. From the homepage of Michael Smith, "I joined the W3C in 2007 as part [of] the W3C Mobile Web Initiative. I am involved with the work on The HTML Markup Language and on standards related to browsing technologies; in particular, the phenomenon known as HTML5, as well as other standards related to Web Applications."
Pixelux will work with AMD to develop an OpenCL accelerated Digital Molecular Matter engine. Pixelux are the folks who developed the Digital Molecular Matter engine used by Lucas Film for some of their effects. Recently, Pixelux released an end user plug-in version of the Digital Molecular Matter for Maya.
The Khronos Group hosted a series of OpenCL tutorials at the Hotchips 2009 event in August on high performance chips. All of these OpenCL tutorials are now online in the Khronos Developers Library. Included are tutorials from AMD, EA, Intel, Nokia, NVIDIA, and of course the Khronos Group.
While OpenCL is very similar in many respects to NVIDIA's CUDA, it adds features to take advantage of other targets; and though it's quite complex, it has the potential to deliver very high performance, and is much easier than trying to map your computation into OpenGL or graphics primitives. So says Michael Wolfe, with over 30 years in both academia and industry on developing compilers, and is now a senior compiler engineer at The Portland Group, Inc., a wholly-owned subsidiary of STMicroelectronics, Inc.
NVIDIA released a new OpenCL Visual Profiler for Windows and Linux for developers. Leveraging the extensive performance instrumentation in NVIDIA's OpenCL drivers and hardware performance signals designed into NVIDIA GPUs, the OpenCL Visual Profiler provides developers with insight into performance bottlenecks and opportunities for optimization. NVIDIA also released a Best Practices guide for OpenCL.
The World's Premier Super Computing event, SC09, will hold its 22nd annual event in Portland Oregon this November. This year, more than 275 exhibitors with 40 participating for the first time, have the SC09 organizers expecting a full house at the Oregon Convention Center. One of the first time exhibitors includes the Khronos Group. The Khronos Group will have booth #242 this year and will undoubtedly be extolling the virtues of OpenCL. You will find complete details of tutorials, wokrshops and sessions on the Khronos website.
OpenTK is an advanced, cross-platform library that provides Mono/.Net OpenGL, OpenGL ES, OpenAL and OpenCL bindings. The latest version adds support for all OpenGL ES extensions, significantly improves the OpenCL bindings and the ARB_imaging subset of OpenGL. A new compatibility module now allows Tao framework applications to run on OpenTK and improves behavior on broken xlib implementations. Finally, this version adds support for the iPhone platform via the MonoTouch project.