Videos of all presentations in the GPGPU Tutorials held at SIGGRAPH 2004 and SIGGRAPH 2005 are online. These courses are an excellent resource for beginners in GPGPU programming. SIGGRAPH 2004 GPGPU Course (Course Web Page). SIGGRAPH 2005 GPGPU Course (Course Web Page).
We have added links to some great introductory GPGPU tutorials to the Developer Page. These tutorials, written by Dominik Göddeke from Dortmund University, cover basic GPGPU concepts, parallel reductions, and fast data transfers.
With their upcoming publication in Computer Graphics Forum, Owens et al. have revised their 2005 comprehensive survey of the history and state of the art in GPGPU. It describes, summarizes and analyzes the latest research in mapping general-purpose computation to graphics hardware. The report begins with the technical motivations that underlie general-purpose computation on graphics processors (GPGPU) and describe the hardware and software developments that have led to the recent interest in this field. The authors describe the techniques used in mapping general-purpose computation to graphics hardware, and survey and categorize the latest developments in general-purpose application development on graphics hardware. (A Survey of General-Purpose Computation on Graphics Hardware. John D. Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Krüger, Aaron E. Lefohn, Timothy J. Purcell, in “Computer Graphics Forum”, Volume 26, 2007. To appear.)
Brahma is an open source shader meta-programming framework for the .NET platform that generates shader code from IL at runtime, enabling developers to write GPU code in C# (or any NET language). The library is primarily meant to handle GPU-based rendering and computational tasks, and eliminates a great deal of glue code that is often required in GPU programming. Since Brahma is a set of interfaces and base classes, it can be implemented for any combination of API and shading language. At this time there is a working shader generation path for Managed DirectX/HLSL. (http://brahma.ananthonline.net)
This tutorial explains how global illumination rendering methods can be implemented on Shader Model 3.0 GPUs. These algorithms do not follow the conventional local illumination model of DirectX/OpenGL pipelines, but require global geometric or illumination information when shading a point. In addition to the theory and state of the art of these approaches, the tutorial goes into the details of a few algorithms, including mirror reflection, refraction, caustics, diffuse/glossy indirect illumination, precomputation-aided global illumination for surface and volumetric models, obscurances and tone mapping, also giving their GPU implementation in HLSL or Cg language. (Laszlo Szirmay-Kalos, Laszlo Scecsi, Mateu Sbert: GPUGI: Global Illumination Effects on the GPU. Eurographics 2006 Tutorial.)
Aaron Lefohn announces the release of version 1.5 of his OpenGL FBO Class. This release includes the following changes:
- Updated enumerations in error checking to match current FBO specification.
Fixes compilation errors with current drivers.
- Small API change to AttachTexture to better support attaching multiple
textures with a single entry point.
- Added FBO Manager for managing a pool of FBOs based on width, height, and
format. Manager is configurable to use user-defined management policies/keys.
(Available on sourceforge.)
Wired magazine has published an article about GPGPU by Paul Tulloch called “Supercomputing’s Next Revolution”. The article discusses recent results from the Stanford Folding@Home project and the UNC Gamma Group, whose most resent results will be presented next week at Supercomputing 2006 in Tampa, Florida.
NVIDIA Corporation today unveiled NVIDIA CUDA technology, a new architecture for computing on NVIDIA GPUs, and the industry’s first C-compiler development environment for the GPU. From the NVIDIA Press Release:
GPU computing with CUDA is a new approach to computing where hundreds of on-chip processor cores simultaneously communicate and cooperate to solve complex computing problems up to 100 times faster than traditional approaches. This breakthrough architecture is complemented by another first: the NVIDIA C-compiler for the GPU. This complete development environment gives developers the tools they need to solve new problems in computation-intensive applications such as product design, data analysis, technical computing, and game physics. CUDA-enabled GPUs offer dedicated features for computing, including the Parallel Data Cache, which allows 128, 1.35 GHz processor cores in newest generation NVIDIA GPUs to cooperate with each other while performing intricate computations. Developers access these new features through a separate computing driver that communicates with DirectX and OpenGL, and the new NVIDIA C compiler for the GPU, which obsoletes streaming languages for GPU computing.
CUDA website: http://www.nvidia.com/cuda
Please join us next week in Tampa, Florida at Supercomputing 2006 for a full-day GPGPU Tutorial on Sunday, November 12 2006. This is the continuation of a series of well-regarded courses presented at the SIGGRAPH and IEEE Visualization conferences. The course at SC06 has been updated for the Supercomputing audience with the latest results and techniques. Then, on Monday November 13, plan to attend the SC06 Workshop, “General-Purpose GPU Computing: Practice and Experience”. This workshop features invited speakers and poster presenters who provide insights into current GPGPU practice and experience, and chart future directions in heterogeneous and homogeneous multi-core processor architectures and data-parallel processor architectures such as GPUs.
Graphic Remedy is proud to announce the release of gDEBugger Version 3.0. This new major version supports OpenGL V2.1 standards and contains ATI Hardware Performance Counters (Percentage Hardware busy, Transform Clip Lighting unit busy, etc.) integration. These counters are displayed in the Performance Graph and Performance Dashboard Views. V3.0 also adds the option for Floating Licenses with a dedicated License Server. The new version can be downloaded from http://www.gremedy.com/download.php.