GPGPU
General-Purpose Computation Using Graphics Hardware

Introduction

GPGPU stands for General-Purpose computation on GPUs. With the increasing programmability of commodity graphics processing units (GPUs), these chips are capable of performing more than the specific graphics computations for which they were designed. They are now capable coprocessors, and their high speed makes them useful for a variety of applications. The goal of this page is to catalog the current and historical use of GPUs for general-purpose computation.

Contribute
Have some GPGPU News to Contribute? Submit it!

Contact Us


Subscribe to a syndicated RSS feed of GPGPU.
Subscribe to a syndicated RSS feed of GPGPU.

Powered by Blosxom.

Hosted by ibiblio.org

Equalizer 0.6

Equalizer Graphics have announced the release of Equalizer 0.6, a major advance in parallel OpenGL rendering. Equalizer is middleware for creating parallel OpenGL-based applications, including GPGPU applications. It enables applications to benefit from multiple graphics cards, processors and computers to scale rendering performance, visual quality and display size. Equalizer 0.6 adds support for Automatic load-balancing for 2D and DB decompositions, DPlex (time-multiplex) compounds, and Paracomp compositing backend. See the release notes on the Equalizer website for a comprehensive list of new features, enhancements, optimizations and bug fixes.

Posted: 11 Dec 2008 [GPGPU /Advanced Rendering] #

Floating Textures Source Code available at Sourceforge

Source Code for the Floating Textures algorithm presented at the Eurographics 2008 conference is now made available at Sourceforge. Floating Textures (paper and video available here) are a novel multi-view, projective texture mapping technique. While many previous multi-view texturing approaches lead to blurring and ghosting artifacts if 3D geometry and/or camera calibration are imprecise, Floating Textures warp ("float") projected textures during run-time to preserve crisp, detailed texture appearance. The GPU implementation achieves interactive to real-time frame rates. The method is very generally applicable and can be used in combination with many image-based rendering methods or projective texturing applications. By using Floating Textures in conjunction with, e.g., visual hull rendering, light field rendering, or free-viewpoint video, improved rendering results can be obtained from fewer input images, less accurately calibrated cameras, and coarser 3D geometry proxies.

Posted: 18 Nov 2008 [GPGPU /Advanced Rendering] #

Faogen 2.0: Ambient occlusion calculation on the GPU

Faogen ia a Fast Ambient Occlusion Generator. It uses a GPU to accelerate computation of ambient occlusion and bent normals both as per-vertex data and in texture images. Faogen 2.0 provides updated ambient aperture and bent normal shaders customizable by editing two simple GLSL functions. Other features include improved precision on large scale models, adjustable background for AO texture images, lighting animation control and bugfixes. (Faogen)

Posted: 04 Aug 2008 [GPGPU /Advanced Rendering] #

Semi-uniform Adaptive Patch Tessellation

This paper by Dyken, Reimers, and Seland of University of Oslo and SINTEF ICT presents an adaptive tessellation scheme for parametric patches producing consistent and watertight tessellations. The scheme uses only a few base tessellations and is particularly well suited for use with instancing. In addition, a novel GPGPU bucket sort approach based on HistoPyramid is presented. The paper gives implementational details and performance benchmarks. (Semi-uniform Adaptive Patch Tessellation. C. Dyken, M. Reimers, and J. Seland. Computer Graphics Forum, to appear.)

Posted: 04 Aug 2008 [GPGPU /Advanced Rendering] #

Displacement Mapping on the GPU: State of the Art

This paper reviews the latest developments of displacement mapping algorithms implemented on the vertex, geometry, and fragment shaders of graphics cards. Displacement mapping algorithms are classified as per-vertex and per-pixel methods. Per-pixel approaches are further categorized as safe algorithms that aim at correct solutions in all cases, to unsafe techniques that may fail in extreme cases but are usually much faster than safe algorithms, and to combined methods that exploit the robustness of safe and the speed of unsafe techniques. The paper discusses the possible roles of vertex, geometry, and fragment shaders to implement these algorithms. Then the particular GPU based bump, parallax, relief, sphere, horizon mapping, cone stepping, local ray tracing, pyramidal and view-dependent displacement mapping methods, as well as their numerous variations are reviewed providing also implementation details of the shader programs. The paper presents these methods using uniform notation and also points out when different authors referred to similar concepts differently. In addition to basic displacement mapping, self-shadowing and silhouette processing are also reviewed. Based on the authors' experiences gained having re-implemented these methods, their performance and quality are compared, and the advantages and disadvantages are fairly presented. (Displacement Mapping on the GPU - State of the Art László Szirmay-Kalos and Tamás Umenhoffer. Computer Graphics Forum. 2008.)

Posted: 14 Jan 2008 [GPGPU /Advanced Rendering] #

Hybrid Ray Tracing: Ray Tracing Using GPU-Accelerated Image-Space Methods

This paper by Robert et al. at the University of Bern, Switzerland describes the object intersection buffer (OIB), a GPU-based visibility preprocessing algorithm for accelerating ray tracing. Based on this approach, a hybrid ray tracer is proposed to exploit parallel ray tracing using the GPU and CPU. ( Hybrid Ray Tracing - Ray Tracing Using GPU-Accelerated Image-Space Methods. Philippe C.D. Robert, Severin Schoepke, and Hanspeter Bieri. Proceedings of GRAPP 2007.)

Posted: 27 Apr 2007 [GPGPU /Advanced Rendering] #

Neoptica White Paper on Programmable Graphics

Neoptica has recently posted a whitepaper, "Programmable Graphics—The Future of Interactive Rendering." It introduces the coming era of programmable graphics, in which developers implement rendering algorithms using combinations of parallel CPU and GPU tasks executing cooperatively on heterogeneous multi-core architectures of the near future. By embracing both task- and data-parallel computation, this approach frees developers to use the most efficient parallel computation style for their algorithms, and makes it possible to define custom graphics pipelines built using complex algorithms and dynamic data structures. The paper argues that future graphics applications that leverage the tightly coupled capabilities of forthcoming CPUs and GPUs will generate far richer and more realistic imagery, use computational resources more efficiently, and scale to large numbers of CPU and GPU cores.

Posted: 02 Apr 2007 [GPGPU /Advanced Rendering] #

Interactive Depth of Field Using Simulated Diffusion on a GPU

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

Posted: 18 Jan 2007 [GPGPU /Advanced Rendering] #

GPUGI: Global Illumination Effects on the GPU

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

Posted: 13 Dec 2006 [GPGPU /Advanced Rendering/Global Illumination] #

Real-Time Relativistic Optical Calculations on the GPU

This paper by Savage, Searle and myself describes a program which uses the built in support for 4-vector/matrix operations on a programmable GPU to perform Lorentz transformations on relativistic 4-momentum vectors in real time. This allows a pixel shader to render relativistic effects such as Geometric Aberration, Doppler shift and the Headlight effect in response to user's interaction. A program, "Real-Time Relativity", has been written to demonstrate these effects. ( Real-Time Relativity C. M. Savage, A. C. Searle, L. McCalman. Physics ArXiv )

Posted: 10 Aug 2006 [GPGPU /Advanced Rendering] #

Ph.D. dissertation discusses GPU-accelerated advanced rendering and image processing techniques

The Ph.D. dissertation Rendering Methods for Augmented Reality by Jan Fischer describes several GPU-based methods for artistic and illustrative rendering. A real-time video filter is described, which generates a cartoon-like version of the input video and is executed entirely on the GPU (Section 3.3). Section 4.2 of the thesis discusses a GPU-based algorithm for the real-time illustrative display of hidden structures in polygonal datasets. In Section 4.3, the real-time conversion of augmented reality video streams into an illustrative style on the GPU is described. The thesis discusses the underlying image processing and rendering algorithms as well as implementation-specific aspects of the respective GPU techniques. (Jan Fischer, Rendering Methods for Augmented Reality, Dissertation, University of Tübingen, June 2006)

Posted: 10 Aug 2006 [GPGPU /Advanced Rendering] #

Geomerics Demonstrate Real-Time Radiosity on the GPU

Geomerics, a new R&D company based in Cambridge UK, have recently announced a real-time radiosity simulation running entirely on the GPU. The solution runs at up to 100hz on common graphics hardware and allows for fully dynamic lighting, including spot-lights, projected texture or video lighting, and area lights. It integrates well with traditional modeling techniques such as normal mapping, and all lighting is performed in high dynamic range. Videos, screenshots and further details of the simulation can be found on their website.

Posted: 09 Aug 2006 [GPGPU /Advanced Rendering/Global Illumination] #

Fantasy Lab introduces GPU-accelerated real-time global illumination engine with displacement-mapped subdivision surfaces

Fantasy Lab, a game developer located in the San Francisco Bay area, has announced its new game engine, which includes support for real-time global illumination and displacement-mapped subdivision surfaces. Videos on the company's website show global illumination on an animated subdivision-surface-based character. The global illumination solution for the videos is calculated in 3.3 milliseconds per frame (300 frames per second) on an NVIDIA GeForce Go 7900 GTX (a laptop GPU).

Posted: 30 Jun 2006 [GPGPU /Advanced Rendering/Global Illumination] #

Fast GPU Ray Tracing of Dynamic Meshes using Geometry Images

Using the GPU to accelerate ray tracing may seem like a natural choice due to the highly parallel nature of the problem. However, determining the most versatile GPU data structure for scene storage and traversal is a challenge. In this paper, we introduce a new method for quick intersection of triangular meshes on the GPU. The method uses a threaded bounding volume hierarchy built from a geometry image, which can be efficiently traversed and constructed entirely on the GPU. This acceleration scheme is highly competitive with other GPU ray tracing methods, while allowing for both dynamic geometry and an efficient level of detail scheme at no extra cost. (Fast GPU Ray Tracing of Dynamic Meshes using Geometry Images Nathan A. Carr, Jared Hoberock, Keenan Crane, and John C. Hart. To appear in Proceedings of Graphics Interface 2006)

Posted: 17 Mar 2006 [GPGPU /Advanced Rendering/Global Illumination] #

Ray Tracing News vol.18 no.1

Eric Haines has released the latest issue of his long-running "Ray Tracing News". It's chock full of news and interesting discussion about ray tracing implementation and optimization, kd-trees, and more. It also includes links to various ray-tracing work being done on GPUs. (Ray Tracing News volume 18, no. 1)

Posted: 13 Dec 2005 [GPGPU /Advanced Rendering] #

Ray Tracing the Quaternion Julia Set on the GPU

The quaternion Julia fractal is a complex and beautiful object, yet its parameter space is difficult to explore due to the high cost of visualization. Fortunately, rendering the Julia set by ray tracing or "sphere tracing" its surface is an algorithm well suited to the GPU: it has high arithmetic intensity and uses virtually no bandwidth. A GPU implementation (with source) of this algorithm has been made available by Keenan Crane, and allows real-time interaction with the Julia set.

Posted: 24 Oct 2005 [GPGPU /Advanced Rendering] #

Approximate Ray-Tracing on the GPU with Distance Impostors

This paper presents a fast approximation method to obtain the point hit by a reflection or refraction ray. The calculation is based on the distance values stored in environment map texels. This approximation is used to localize environment mapped reflections and refractions; that is, to make them depend on where they occur. On the other hand, placing the eye into the light source, the method is also good to generate real-time caustics. Computing a map for each refractor surface, we can even evaluate multiple refractions without tracing rays. The method is fast and accurate if the scene consists of larger planar faces, when the results are similar to that of ray-tracing. On the other hand, the method suits very well to the GPU architecture, and can render ray-tracing and global illumination effects at a few hundred frames per second. The primary application area of the proposed method is the introduction of these effects in games. (Approximate Ray-Tracing on the GPU with Distance Impostors. Laszlo Szirmay-Kalos, Barnabas Aszodi, Istvan Lazanyi, and Matyas Premecz. Department of Control Engineering and Information Technology, Technical University of Budapest.)

Posted: 06 Oct 2005 [GPGPU /Advanced Rendering] #

A Comparison of Acceleration Structures for GPU Assisted Ray Tracing

Recently, ray tracing on consumer level graphics hardware has been introduced. So far, most published studies on this topic use the uniform grid spatial subdivision structure for reducing the number of ray/triangle intersection tests. For many types of scenes, a hierarchical acceleration structure is more appropriate. This thesis by Lars Ole Simonsen and Niels Thrane of University of Aarhus compares GPU based traversal of kd-trees and uniform grids with a novel bounding volume hierarchy traversal scheme. The three implementations are compared in terms of performance and usefulness on the GPU. The thesis concludes that on the GPU, the bounding volume hierarchy traversal technique is up to 9 times faster than its implementations of uniform grid and kd-tree. Additionally, this technique proves the simplest to implement and the most memory efficient. (Lars Ole's Website or Direct link to thesis PDF.)

Posted: 23 Aug 2005 [GPGPU /Advanced Rendering/Global Illumination] #

Caustics Mapping: An Image-space Technique for Real-time Caustics

Caustics are complex patterns of shimmering light formed due to reflective and refractive objects; for example, those formed on the floor of a swimming pool. Caustics Mapping is a physically based real-time caustics rendering algorithm. It utilizes the concept of backward ray-tracing, however it involves no expensive computations that are generally associated with ray-tracing and other such techniques. The main advantage of caustics mapping is that it is extremely practical for games and other interactive applications because of its high frame rates. Furthermore, the algorithm runs entirely on graphics hardware, which leaves the CPU free for other computation. There is no pre-computation involved, and therefore fully dynamic geometry, lighting, and viewing directions are supported. In addition, there is no limitation on the topology of the reciever geometry, i.e., caustics can be formed on arbitrary surfaces. (Caustics Mapping: An Image-space Technique for Real-time Caustics. Musawir A. Shah and Sumanta Pattanaik. Technical Report, School of Engineering and Computer Science, University of Central Florida, CS TR 50-07, 07/29/2005 (Submitted for Publication))

Posted: 11 Aug 2005 [GPGPU /Advanced Rendering/Global Illumination] #

Illustrative Display of Hidden Iso-Surface Structures using GPU Processing

This IEEE Visualization 2005 paper (accepted for publication) describes a new algorithm for the illustrative rendering of iso-surfaces and polygonal models. Using a combination of multi-pass rendering and image-space processing passes, hidden structures and optional additional inner geometry are displayed in real-time. No pre-processing of the geometric models is necessary. This work is part of Jan Fischer's PhD thesis. ( Illustrative Display of Hidden Iso-Surface Structures, Jan Fischer et al., IEEE Visualization 2005)

Posted: 07 Aug 2005 [GPGPU /Advanced Rendering] #

Categories