GPGPU |
General-Purpose Computation Using Graphics Hardware
|
IntroductionGPGPU 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.
|
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, 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] # 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
|