O'Reilly logo

High Performance Visualization by E. Wes Bethel, Charles Hansen, Hank Childs

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 11
GPU-Accelerated Visualization
Marco Ament
VISUS, Universit¨at Stuttgart
Steffen Frey
VISUS, Universit¨at Stuttgart
Christoph M¨uller
VISUS, Universit¨at Stuttgart
Sebastian Grottel
VISUS, Universit¨at Stuttgart
Thomas Ertl
VISUS, Universit¨at Stuttgart
Daniel Weiskopf
VISUS, Universit¨at Stuttgart
11.1 Introduction ...................................................... 224
11.2 Programmable Graphics Hardware .............................. 224
11.2.1 High-Level Shader Languages ........................... 226
11.2.2 General Purpose Computing on GPUs .................. 227
11.2.3 GPGPU Programming Languages ...................... 228
11.3 GPU-Accelerated Volume Rendering ............................ 229
11.3.1 Basic GPU Techniques .................................. 229
11.3.1.1 2D Texture-Based Rendering .............. 229
11.3.1.2 3D Texture-Based Rendering .............. 230
11.3.1.3 Ray Casting ................................ 230
11.3.2 Advanced GPU Algorithms ............................. 231
11.3.3 Scalable Volume Rendering on GPU-Clusters .......... 233
11.3.3.1 Sort-Last Volume Rendering ............... 233
11.3.3.2 Sort-First Volume Rendering .............. 234
11.4 Particle-Based Rendering ........................................ 235
11.4.1 GPU-Based Glyph Rendering ........................... 236
11.4.2 Large Molecular Dynamics Visualization ............... 238
11.4.3 Iterative Surface Ray Casting ........................... 239
223
224 High Performance Visualization
11.5 GPGPU High Performance Environments ....................... 239
11.5.1 New Challenges in GPGPU Environments .............. 240
11.5.2 Distributed GPU Computing ............................ 241
11.5.3 Distributed Heterogeneous Computing .................. 242
11.6 Large Display Visualization ...................................... 242
11.6.1 Flat Panel-Based Systems ............................... 243
11.6.2 Projection-Based Systems ............................... 244
11.6.3 Rendering for Large Displays ............................ 246
References .......................................................... 248
The visualization of large data is a computationally demanding task. The in-
crease in performance and the flexible programmability have made graphics
processing units (GPUs) an attractive platform to address large data visual-
ization. The parallel architecture of GPUs and the low costs, coupled with
high availability, have paved the way for this significant field of research. This
chapter reviews the fundamental principles of modern graphics hardware, then
summarizes the latest research in GPU-based visualization techniques for stan-
dalone and cluster-based systems.
11.1 Introduction
Over the last decade, graphics hardware has enabled compelling perfor-
mance gains in visualization. The development of the programmable graphics
pipeline [63] can be considered as one of the most important technological
advances for the success of graphics hardware, since it allows programmers
to execute user-written code on the GPU. Both the high performance and
the ease of programming support the rapid design of stunning visual effects;
however, they also facilitate interactive visualization of large scientific data
sets.
However, the architecture of GPUs is different from typical multi-core
platforms. The latter are suited well for coarse and heavy-weight threads that
usually interact closely with the operating system. The performance of a single
thread is fairly high when executed on the CPU, which is designed to process
an individual workload as fast as possible. In contrast, the GPU’s strategy
follows an orthogonal approach. Modern graphics accelerators are designed as
optimized data-parallel [42] streaming processors that enable fine and light-
weight threads along with a high number of computational units and very fast
memory access. The performance of a single thread is relatively poor, but the
high parallelism allows the GPU to concurrently execute a large number of
such threads.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required