High Performance Visualization
by Robert van Liere
The importance of visualization
in high performance computing is well known. The reason for this is that
increasingly complex phenomena are being simulated and that the resulting
data sets are becoming too difficult to interpret without appropriate visualization
tools. In the HPV project (1996-1998) generic and pragmatic approaches
to high performance visualization tools are being explored. HPV is financed
and supported by the Dutch High Performance Computing and Networking initiative.
The research is being carried out by CWI, TNO-FEL, ACE, Arcobel, and CAP-Gemini.
One of the tools in the HPV environment is a data browser to analyse
very large scientific data bases. In contrast to prerecorded video sequences,
the data browser allows the user to first select visualization mappings
and then play through any part of the data base at interactive rates. Adjusting
the mapping parameters provides the end user with a mechanism to highlight
certain aspects of the data which may otherwise stay hidden.
One of the visualization techniques that has been incorporated in the
data browser is an interactive version of the spot noise algorithm. Spot
noise is a texture synthesis technique which can be used to visualize flow
fields. Rather than mapping the underlying vector field to produce colored
geometric objects, spot noise uses texture. The primary advantage over
other flow visualization techniques is that texture can give a continuous
view of a 2D field opposed to visualization at only discrete positions,
as with arrow plots or streamlines. The basic idea is that if many particles
are used to represent the flow, the individual particles can no longer
be discerned and texture is perceived instead. Spot noise generates texture
by adding a large number of randomly positioned spots which have a random
intensity. Properties of the spot directly control the properties of the
texture. Therefore, by modifying the shape of the spot as a function of
the data, the data are visualized by texture.
Unfortunately, spot noise is a computationally very expensive technique.
A large number of particle paths and particle positions must be calculated,
spots must be transformed, scan converted, textured and blended. Previously,
spot noise textures were generated as a preprocessing step and the resulting
sequence of images was animated. The team has developed an interactive
spot noise algorithm which runs on very high performance graphics workstations.
Textures can now be generated on the fly so that spot noise can be used
in the data browser at interactive speeds.
As an example, the data browser has been applied to analyze a turbulent
flow field. The goal of this application is to study the evolution of the
vortex shedding behind a block, the transition from laminar to turbulent
flow, and how these relate to other physical phenomena, such as pressure
or helicity. The computation and the size of the resulting database is
impressive: a few weeks of computing on a 12 processor Cray C90 can easily
produce a few terabytes of data.
The figure on is a snapshot of a slice of the data set. The flow is
from left to right and impinges a block placed in the field. One can clearly
see the transition from laminar to turbulent flow behind the block. Only
if the number of frames per second exceeds a threshold can the user monitor
how the vortices behave in time.

Direct numerical simulation of the wake behind a block showing vortex
shedding and transition from laminar to turbulent flow.
The data used is a slice from the three-dimensional data set which is
read in parallel from a disk array and is streamed to a data slicer. The
data is defined on a rectilinear grid with a resolution of 278x208 cells.
Each texture has a resolution of 512x512 pixels and uses 40,000 spots.
Each spot is represented as a mesh with a resolution of 16x3 vertices this
results in about 1.9 million quadrilaterals per texture.
The group has implemented the spot noise algorithm on a SGI Onyx with
8 R10000 processors and 4 InfiniteReality graphics pipes. A 800 MByte/sec
bus connects the processors with the graphics pipes. A divide and conquer
technique has been developed to distribute the spots among the processors
and graphics pipes. With this implementation we can achieve approximately
7 frames per second, resulting in a net rendering performance of approx.
14 million quadrilaterals per second.
The HPV project is exploring generic tools for the visualization of
high performance simulations and very large scientific data bases. The
focus is on those tools and techniques that can be used for interactive
visualization, so that the end user has direct control of many aspects
of the simulation and visualization.
Please contact:
Robert van Liere - CWI
Tel: +31 20 592 4118
E-mail: robertl@cwi.nl