Interactive Depth of Field Using Simulated Diffusion on a GPU

January 18th, 2007

This Pixar Animation Studios Technical Report by Kass, Lefohn, and Owens describes a GPU-based data-parallel direct tridiagonal linear solver. To the authors’ knowledge, this is the first reported direct, linear-time tridiagonal GPU solver. The solver is used to implement a new heat-diffusion-based depth-of-field preview algorithm; and the paper describes solving thousands of tridiagonal systems, each with hundreds of elements, on the GPU at interactive rendering rates. The alternating direction implicit solution gives rise to separable spatially varying recursive (infinite-impulse response, IIR) filters that can compute large-kernel convolutions in constant time per pixel while respecting the boundaries between in-focus and out-of-focus objects. Recursive filters have traditionally been viewed as problematic for GPUs, but using the well-established method of cyclic reduction of tridiagonal systems, the authors are able to parallelize the computation and implement an efficient solution in terms of GPGPU primitives. (Michael Kass, Aaron Lefohn, and John Owens. Interactive Depth of Field Using Simulated Diffusion on the GPU, Technical Report #06-01, Pixar Animation Studios, January 2006.)

GPGPU a Disruptive Technology for 2007

January 18th, 2007

An article by David Strom in Information Week includes “Advanced Graphics Processing” in it’s article “5 Disruptive Technologies To Watch in 2007″, and specifically mentions GPGPU and NVIDIA CUDA. “In some cases, the new graphics cards being developed by NVIDIA and ATI (now a part of AMD) will have a bigger impact on computational processing than the latest chips from Intel and AMD.”, writes Strom.

SIGGRAPH 2004 & 2005 GPGPU Course Videos Online

January 4th, 2007

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).

New GPGPU Tutorials added to Developer Page

January 4th, 2007

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.

A (Revised) Survey of General-Purpose Computation on Graphics Hardware

December 13th, 2006

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: Shader meta-programming framework for GPUs

December 13th, 2006

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. (

GPUGI: Global Illumination Effects on the GPU

December 13th, 2006

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.)

OpenGL FBO Class version 1.5

November 16th, 2006

Aaron Lefohn announces the release of version 1.5 of his OpenGL FBO Class. This release includes the following changes:

  1. Updated enumerations in error checking to match current FBO specification.
    Fixes compilation errors with current drivers.
  2. Small API change to AttachTexture to better support attaching multiple
    textures with a single entry point.
  3. 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.)

GPGPU gets Wired: "Supercomputing’s Next Revolution"

November 10th, 2006

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 Announces CUDA GPU Computing Architecture

November 10th, 2006

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:

Page 85 of 109« First...102030...8384858687...90100...Last »