384 High Performance Visualization
18.1 Introduction
This chapter describes the design and features of ParaView [15, 3], a tool
that enables visualization and analysis for extremely large data sets. Para-
View is a full-featured, general purpose user application with a graphical user
interface as well as a scripting interface that can be used to build visualiza-
tion pipelines for data analysis and rendering. At the same time, ParaView
is a framework for developing highly customized, domain-specific applications
for the desktop [1] or for the web [8]. Additionally, ParaView can be directly
linked into the simulation code for analysis [5] where data processing happens
as a step in the simulation code itself.
As a user application, ParaView supports the visualization and render-
ing of large data sets in parallel, on distributed-memory machines, in diverse
configurations, with minimal effort. These configurations includes multitile
displays and immersive VR environments such as CAVE [4, 14]. ParaView
supports hardware-accelerated parallel rendering using IceT (Chap. 17) and
using level-of-detail (LOD) techniques to further improve rendering perfor-
mance during interaction.
As an application framework, ParaView provides an API for developing
highly customized applications that can have domain-specific user interfaces
with custom workflows. Developers can also build plug-ins that add complex
functionality to the ParaView application, itself. Some examples of the plug-
ins include new readers, writers, or even user interface panels and wizards.
As an in situ processing framework, ParaView provides a library that
is flexible enough to be embedded in various simulation codes with relative
ease. The co-processing library can also be easily extended so that users can
deploy new analysis and visualization techniques to existing co-processing
installations.
This chapter begins with a brief discussion of the requirements and use-
cases ParaView was designed to address, while also looking at some of the
major features of ParaView that enable high performance visualization. Fi-
nally, the chapter explores some of the exciting applications where ParaView
serves as a vital visualization and analysis tool.
18.2 Understanding the Need
In the early 2000s, computational sciences started gaining momentum
thanks to the advent of advanced HPC resources, which made it possible
to solve large problems that were intractable until then. As simulation runs
started getting bigger, so did the data results that needed to be analyzed.
Therefore, the paradigm of fetching the data locally and then analyzing it
started to become impractical. Also, there was a dearth of general purpose
visualization tools. Most institutions developed custom solutions for problems
at hand, but they were inflexible and hard to maintain or adapt to different