PARAVIEW AND ASTROVIZ
ParallelVisualizationTools for the Masses
Christine Corbett Moran
Institute forTheoretical Physics
GOALS OFTHISTALK
• Review the state-of-the-art in parallel analysis and visualization
• Introduce the ParaView plugin AstroViz
• Focus on generalized techniques of extending ParaView for
custom use cases
• Provide performance numbers and use cases
•Visualization
•VTK and ParaView
• AstroViz
• Performance
• Usage
• Next steps
OUTLINE
VISUALIZATION GOALS
• Tool for insight, communication, comparison, appreciation
ABSTRACT PROCESS
ABSTRACT PROCESS
ABSTRACT PROCESS
ABSTRACT PROCESS
DETAILED PROCESS
• Filtering
• Representation
• Perception
VISUALIZATION AND
ANALYSIS IN ASTROPHYSICS
• Parallel capabilities
• Wide variety of data
formats
• Extensible
• Robust
• Short learning curve
SimAm AstroMD Salsa Tipsy
Flash
View
ParaView python VisIt
SPLASH IDL MayaVi Splotch
yt gnuplot IFrIT OpenDX
•Visualization
•VTK and ParaView
• AstroViz
• Performance
• Usage
• Next steps
OUTLINE
VTK
• Open source, multi-platform visualization application
• Supports distributed computation models
• Extensible modular architecture
VTK AND PARAVIEW
• Open-source, multi-platform visualization applications
• ParaView is UI on top of theVTK framework
• Easily extensible via plugin development model
• ParaView represents
data as collections of
points and cells
• Calculations of filters
on these points and
cells largely
independent
• ParaView uses data
parallelism
PARALLEL COMPUTING IN
PARAVIEW
PARALLEL CAPABILITIES:
READERS
• Structured data: each
process reads a specific
coordinate extent
• Unstructured data: each
process reads a specific
fraction of the file
PARALLEL CAPABILITIES: DATA
DISTRIBUTION
• ParaView distributes data
spatially and evenly
• Structured data: done
automatically
• Unstructured data: done
manually with D3 filter
PARALLEL CAPABILITIES:
FILTERS
• Each process performs
same operation on its
piece of data
• Where necessary ghost
cells are utilized
PARALLEL CAPABILITIES:
RENDERING
• ParaView uses IceT
parallel rendering library
• Each process creates an
image based on its
partition of geometry
• Processes collectively
composite images
D3 FILTER
Before After
GHOST CELLS:
EXTERNAL FACES
PARALLEL RENDERING
WITH ICET
IceT Users’ Guide and Reference, Kenneth Moreland 2009
PARAVIEW PLUGINS
• Easier to create and deploy than directly modifying sourcecode
• Interface for developers to write modular software projects
and compile them against ParaView to produce libraries
• User can load any number of these libraries at runtime
PLUGIN DEVELOPMENT
REQUIREMENTS
• ParaView build and source used to compile it
• C++ source code to implement plugin’s features
• XML files to allow ParaView to use plugin
• CMakeLists.txt to set up plugin’s build environment
PLUGINTYPES
• Server-side
• Readers and writers
• Filters
• Client-side
• Readers and writers
• Object panels
• Toolbars
• Custom views
•Visualization
•VTK and ParaView
• AstroViz
• Performance
• Usage
• Next steps
OUTLINE
GUI
ParaView AstroViz
• Manipulate view in 3D
• Split view
• Link views
• Variety of display choices
• Additional menu, submenus
and buttons for ease of use
of AstroViz features
• Each AstroViz feature has an
option panel with user
customizable options
GUI INTERACTION
REALTIME INTERACTION
FILE FORMATS
ParaView AstroViz
• VTK
• Comma separated values
• XDMF
• Saved ParaView state
• Tipsy binary
• Marked particle files
• Additional ASCII attributes
FILE FORMATS:
C++ IMPLEMENTATION
FILE FORMATS:
GUI IMPLEMENTATION
PARALLEL READING
• Each process reads from to
if and to otherwise
DATA REDUCTION
ParaView AstroViz
• Reduce data to particles
selected in GUI
• Export selected particles and
their associated data
• Threshold based on input
attributes or simple functions
of them
• Option to load in only certain
attributes of particles
• Read in particles based on
“marked” file
• Threshold based on quantities
computed with AstroViz’s additional
analysis capabilities
• Halo finding
DATA REDUCTION
HALO FINDING
• A halo is a group of gravitationally bound objects
• Friends-of-Friends (FOF) halo finding algorithm
• A FOF halo is set of objects for which every object in the
set is within a linking length scale from at least one other
object in the set
• Purely geometric
• One free parameter, the linking length
ANALYSIS
ParaView AstroViz
• Simple functions of input data
• Plot data
• Statistics
• Python scripting
• Smooth quantities
• Compute the virial radius
• Center of mass
• Cumulative quantities within a radius
• Radial, tangential, and circular
velocity
• Angular momentum
• Principle moments of inertia
ANALYSIS:
FULL SCREENSHOT
KD-TREES
• Offers efficient way to
• Locate a point in space
• Identify N-nearest neighbors
• Locate points within a given spatial
area
Figure reproduced from Dr. BenjaminTyner, Department of
Statistics, Purdue University, 2009.
• Build Kd-Tree data structure
KD-TREE
VIRIAL RADIUS
• Formally the virial radius the radius at which virial equilibrium
holds
• Is often approximated as
(tensor) (scalar with )
CENTER OF MASS
• Summation operation is
commutative
• Processes calculate summation
independently
• Results combined and final
division performed
PRINCIPLE MOMENTS OF
INERTIA
PROFILE
• Calculate various physical
quantities as a function of radius
• Proceeds by grouping particles
into equal radius bins
PROFILED QUANTITIES
PARALLEL CAPABILITIES
ParaView AstroViz
• Read certain native formats in
parallel
• Parallel rendering
• Data distribution
• Certain analysis and data
reduction operations
automatically done in parallel
• All AstroViz features capable
of running in parallel
•Visualization
•VTK and ParaView
• AstroViz
• Performance
• Usage
• Next steps
OUTLINE
• Quantify how much faster an algorithm will run on parallel
computer with N processes
• Where is the time it takes to execute the algorithm on
processes
PARALLEL COMPUTING
• Every non-trivial algorithm has some serial component
• As processes are added to the computation of a parallel
algorithm, a decreasing return is seen on algorithmic speed
• If is the fraction of the algorithm that is inherently serial
then the algorithm will instead have the following speedup,
upper bounded by , known as Amdahl’s law:
PARALLEL COMPUTING
PERFORMANCE BENCHMARKS
• GHALO
• B1, B2, B3 resolutions with 11 million, 141 million, and 3
billion particles respectively
• Machines
• ZBox3 CPU cluster
• Horus GPU cluster
MACHINES
• ZBox3 CPU Cluster
• 144 nodes with quad core 2.4 GHZ Intel CPUS, 8GB main
memory per node
• Dolphin SCI highspeed interconnects
• Horus GPU/CPU Cluster
• 16 nodes 2.4 GHZ AMD Opteron Processor 250, 192 GB
total memory
• two NVIDIA Quadro FX 4500 GPUS per node
READING
ANALYSIS
INTERACTIVEVISUALIZATION
INTERACTIVEVISUALIZATION
LARGE PARTICLE NUMBER
LARGE PARTICLE NUMBER
•Visualization
•VTK and ParaView
• AstroViz
• Performance
• Usage
• Next steps
OUTLINE
DATA REDUCTION
DATA REDUCTION
DATA REDUCTION
DATA REDUCTION
DATA REDUCTION
DATA REDUCTION
DATA REDUCTION
REALTIME ANALYSIS
REALTIME ANALYSIS
REALTIME ANALYSIS
REALTIME ANALYSIS
REALTIME ANALYSIS
SCRIPTED ANALYSIS
MOVIES
MOVIES
•Visualization
•VTK and ParaView
• AstroViz
• Performance
• Usage
• Next steps
OUTLINE
ASTROVIZ: NEXT STEPS
• Increased support for hydrodynamical codes (both AMR and
SPH) and their common analysis tasks
• Increased support for observational astrophysics visualization
and analysis tasks including the FITS format and pixel based
operations
• Performance optimizations and additional file formats
• Features suggested by community
GOALS OFTHISTALK: REVIEW
• Review the state-of-the art in parallel analysis and visualization
• Introduce the ParaView plugin AstroViz
• Provide performance numbers and use cases
RELEASE INFORMATION
• Open source BSD license
• Website
• http://www.itp.uzh.ch/~corbett/astroviz/astroviz.html
• Feedback and feature requests
• http://astroviz.uservoice.com/
QUESTIONS?

Big Data Visualization With ParaView