Database Reference
In-Depth Information
The tool must understand which cells in the mesh, if any, are ghost cells.
If the mesh is hierarchical, as is the case with AMR meshes, then the
visualization tool must understand metadata describing how the patches
of the mesh nest from coarse to fine resolution.
If the mesh is from a multidomain dataset, the metadata defines how the
domains abut. This information is required for many operations, such
as computation of ghost data.
The tool must understand metadata for optimizations, such as the per-
domain bounding boxes discussed in the previous section.
The tool must understand metadata about temporal characteristics,
such as the simulation time and cycle identifier.
The tool must understand information such as volume fractions for Eu-
lerian calculations, including maintaining sparse matrix structures for
ecient representation of this information.
9.2.4 A Real-World Production Parallel Visualization Tool
For concreteness, we describe the architecture and operation of a specific,
production-quality, parallel visualization, VisIt, which implements many of
the concepts described in the previous sections. In terms of I/O, it supports
both imposed and adaptive partitioning (see Section 9.2.1.1). It also caches
all I/O, which is frequently the dominant portion of execution time. In terms
of processing, it uses a pipeline design, although its user interface does not
expose pipeline constructs to users. VisIt's pipeline design makes full use of
contracts , which enable the components of a data flow network to specify and
communicate optimizations to achieve higher levels of performance eciency
(see Section 9.2.2). Many filters utilize metadata to limit the amount of data
being processed, and many file format readers produce metadata, such as
per-domain bounding boxes. VisIt uses two approaches for rendering. First,
surfaces with a relatively small number of geometric primitives (e.g., triangles,
line segments, etc.) are sent to the client and rendered locally using the local
desktop's graphics hardware. Surfaces with a relatively large amount of geo-
metric primitives remain on the server where VisIt renders them in parallel,
and then the VisIt server sends the resulting imagery to the remote client.
VisIt automatically decides which rendering approach to use based on the
number of geometric primitives, but this decision can be overridden by users.
In terms of VisIt's data model, VisIt processes all of the mesh types and field
types described in Section 9.2.3. It also pays special attention to preserving
information about data layout and ordering, so that users can ask debugging-
type questions such as, “What is the value of the 110th element in the 41st
domain?” This design represents a large amount of effort. VisIt has over 200
filters, 20 different ways to render data, and 90 different file readers, adding
up to over 1.5 million lines of C++ code.
Search WWH ::




Custom Search