This document provides an overview of the Large Scale Visualization with ParaView Supercomputing 2013 Tutorial. It introduces ParaView as an open-source visualization application, describes its architecture and usage, and provides examples of loading data and applying filters to visualize and analyze large datasets. The tutorial covers basic usage, supported file formats, pipeline controls, representations, filters, multiview capabilities, and data analysis tools.
This document provides an overview of the Large Scale Visualization with ParaView Supercomputing 2013 Tutorial. It introduces ParaView as an open-source visualization application, describes its architecture and usage, and provides examples of loading data and applying filters to visualize and analyze large datasets. The tutorial covers basic usage, supported file formats, pipeline controls, representations, filters, multiview capabilities, and data analysis tools.
Kenneth Moreland W. Alan Scott Sandia National Laboratories
David DeMarle Kitware, Inc.
Li-Ta Lo Los Alamos National Laboratory Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energys National Nuclear Security Administration under contract DE-AC04-94AL85000. SAND 2013-9368P Outline Introduction Basic Usage Visualizing Large Models To Follow Along Install ParaView 4.1. http://www.paraview.org Download Get example material. http://www.paraview.org/Wiki/The_ParaView_Tutorial Data also available on thumb drives. Please dont steal the thumb drives. They are personal property volunteered by presenters. They have never touched a Sandia computer. Introduction What is ParaView? An open-source, scalable, multi- platform visualization application. Support for distributed computation models to process large data sets. An open, flexible, and intuitive user interface. An extensible, modular architecture based on open standards. A flexible BSD 3 Clause license Commercial maintenance and support. Renato N. Elias, NACAD/COPPE/UFRJ , Rio de J anerio, Brazil Swiss National Supercomputing Centre J erry Clarke, US Army Research Laboratory Current ParaView Usage Used by academic, government, and commercial institutions worldwide. Downloaded ~100K times per year. HPCwire Editors Choice 2010 and HPCwire Readers Choice 2010/2012 Awards for Best Visualization Product or Technology.
Data Ranges Used for all ranges of data size. Landmarks of SNL usage: 6 billion structured cells (2005). 250 million unstructured cells (2005). Billions of AMR cells (2008). Scaling test over 1 Trillion cells (2010). ParaView Application Architecture MPI OpenGL IceT Etc. VTK ParaView Server ParaView Client pvpython Custom App UI (Qt Widgets, Python Wrappings) ParaWeb Catalyst ParaView Development Started in 2000 as collaborative effort between Los Alamos National Laboratories and Kitware Inc. (lead by J ames Ahrens). ParaView 0.6 released October 2002. September 2005: collaborative effort between Sandia National Laboratories, Kitware Inc. and CSimSoft to rewrite user interface to be more user friendly and develop quantitative analysis framework. ParaView 3.0 released in May 2007. ParaView 4.0 released in J une 2013. Current Funding ARL ERDC US Army (SBIR) US Air Force (STTR) ONR Support Contracts Electricity de France Microsoft Other contributors Swiss National Supercomputing Centre DOE SLAC Ohio State Mississippi State RPI Basics of Visualization
Data Types Uniform Rectilinear (vtkImageData) Non-Uniform Rectilinear (vtkRectilinearData) Curvilinear (vtkStructuredData) Polygonal (vtkPolyData) Unstructured Grid (vtkUnstructuredGrid) Multi-block Hierarchical Adaptive Mesh Refinement (AMR) Hierarchical Uniform AMR Octree More Information Online Help F1 The ParaView Users Guide http://paraview.org/Wiki/ParaView/Users_Guide/Table_Of_C ontents
The ParaView web page www.paraview.org ParaView mailing list [email protected] Basic Usage User Interface Menu Bar Toolbars Pipeline Browser Properties Panel 3D View Advanced Toggle Getting Back GUI Components Creating a Cylinder Source 1. Go to the Source menu and select Cylinder. 2. Click the Apply button to accept the default parameters. Simple Camera Manipulation Drag left, middle, right buttons for rotate, pan, zoom. Also use Shift, Ctrl, Alt modifiers. Creating a Cylinder Source 1. Go to the Source menu and select Cylinder. 2. Click the Apply button to accept the default parameters. 3. Increase the Resolution parameter.
4. Click the button again. Pipeline Object Controls Undo Redo Redo Undo Camera Redo Camera Undo Render View Options Display Properties Creating a Cylinder Source 1. Go to the Source menu and select Cylinder. 2. Click the Apply button to accept the default parameters. 3. Increase the Resolution parameter.
Load disk_out_ref.ex2 1. Open the file disk_out_ref.ex2. 2. Load all data variables.
3. Click Data Representation Toggle Color Legend Mapped Variable Representation Vector Component Edit Colors Reset Scalar Range Geometry Representations Points Wireframe Surface Surface with Edges Volume Calculator Contour Clip Slice Threshold Extract Subset Common Filters Glyph Stream Tracer Warp (vector) Group Datasets Extract Level Filters Menu Quick Launch
Used for searching for filters by name Keyboard shortcut Ctrl-space for Windows & Linux Alt-space for Mac Apply a Filter 1. Make sure that disk_out_ref.ex2 is selected in the pipeline browser. 2. Select the contour filter. Apply a Filter 3. Change parameters to create an isosurface at Temp = 400K. Change to Temp Change to 400 Apply a Filter 1. Make sure that disk_out_ref.ex2 is selected in the pipeline browser. 2. Select the contour filter. 3. Change parameters to create an isosurface at Temp = 400K. 4. Reset ParaView Multiview Multiview 1. Open disk_out_ref.ex2. Load all variables. 2. Add clip filter. 3. Uncheck Show Plane. 4. 5. Color surface by Pres. Multiview 6. Split the view horizontally. 7. Make Clip1 visible. 8. Color surface by Temp. Multiview 6. Split the view horizontally. 7. Make Clip1 visible. 8. Color surface by Temp. 9. Right-click view background, Link Camera 10.Click other view. Multiview 6. Split the view horizontally. 7. Make Clip1 visible. 8. Color surface by Temp. 9. Right-click view background, Link Camera 10.Click other view. 11.Click Modifying Views Modifying Views Reset ParaView Streamlines 1. Open disk_out_ref.ex2. Load all variables. 2. Add stream tracer. 3. Streamlines 1. Open disk_out_ref.ex2. Load all variables. 2. Add stream tracer. 3. 4. From the quick launch, select Tube 5. Getting Fancy 1. Select StreamTracer1. 2. Add glyph filter. 3. Change Vectors to V. 4. Change Glyph Type to Cone. 5.
Getting Answers Where is the air moving the fastest? Near the disk or away from it? At the center of the disk or near its edges? Which way is the plate spinning? At the surface of the disk, is air moving toward the center or away from it? Reset ParaView Common Data Analysis Filters Extract Selection Plot Global Variables Over Time Plot Over Line Plot Selection Over Time Probe Location Plotting 1. Open disk_out_ref.ex2. Load all variables. 2. Clip, uncheck, , 3. Select disk_out_ref.ex2 4. Add Plot Over Line filter. 3D Widgets Plotting 1. Open disk_out_ref.ex2. Load all variables. 2. Clip, uncheck, , 3. Select disk_out_ref.ex2 4. Add Plot Over Line filter. 5. Once line is satisfactorily located, Interacting with Plots Left, middle, right buttons to pan, zoom. Mouse wheel to zoom. Reset view to plot ranges. Plots are Views Move them like Views. Save screenshots. Adjusting Plots 1. In Display tab, turn off all variables except Temp and Pres. 2. Select Pres in the Display tab. 3. Change Chart Axis to Bottom Right. 4. Verify the relationship between temperature and pressure. Reset ParaView Loading Data with Time 1. Open the file can.ex2. 2. Select all variables. 3. 4. 5. Animation Toolbar First Frame Previous Frame Play Next Frame Last Frame Loop Animation Current Time Current Time Step Save Screenshot/Animation 1. Choose File Save Screenshot 2. Complete the following dialogs to save an image. 3. Chose File Save Animation 4. Complete the following dialogs to save a movie. Query-Based Selection 1. Open can.ex2. All variables. 2. Go to last time step. 3. Edit Find Data. 4. Top combo box: find Cells. 5. Next row: EQPS, is >=, and 1.5. 6. Click Run Selection Query. Query-Based Selection Brush Selection Surface Cell Selection (shortcut: s) Surface Point Selection Through Cell Selection Through Point Selection Select Points (polygon) Select Cells (polygon) Block Selection (shortcut: b)
Frustum vs. Id Selections 1. Make a Select Cells Through 2. Turn on Show Frustum in Find Data. Rotate 3D view. 3. Play 4. Hit Freeze Selection in Find Data. 5. Play Adding Labels 1. Select a few cells (not too many). 2. Open Find Data. 3. In the Labels chooser, select EQPS. Plot Selection Over Time 1. Select a single cell where something interesting happens. 2. From the quick launch, select Plot Selection Over Time 3. 4. In Display panel, select different blocks to plot. Reset ParaView Extracting a Selection 1. Open can.ex2. Load all variables. 2. Perform a sizeable selection. 3. Add the extract selection filter. 4. Adding Text Annotation 1. If you have fell behind, you can reset ParaView and reload can.ex2. 2. Sources Text 3. Type a message in text edit box 4. Text Position Annotate Time 1. Sources Annotate Time 2. Python Trace Demo
Visualizing Large Models Golevka Asteroid vs. 10 Megaton Explosion CTH shock physics, over 1 billion cells Polar Vortex Breakdown SEAM Climate Modeling, 1 billion cells (500 million cells visualized). Objects-in-Crosswind Fire Coupled SIERRA/Fuego/Syrinx/Calore, 10 million unstructured hexahedra Large Scale AMR Wing with Unsteady Crossflow from Synthetic Jet (3.3B tet) ParaView Architecture Three tier Data Server Render Server Client Standalone Client Data Server Render Server Client-Server Client Data Server Render Server Client-Render Server-Data Server Client Data Server Render Server Requirements for Installing ParaView Server C++ CMake (www.cmake.org) MPI OpenGL (or Mesa3D www.mesa3d.org) Qt 4.6 (optional) Python (optional) http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server#Compiling Connecting to a ParaView Server http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server#Running_the_Server Data Parallel Pipelines Duplicate pipelines run independently on different partitions of data. Data Parallel Pipelines Duplicate pipelines run independently on different partitions of data. Data Parallel Pipelines Some operations will work regardless. Example: Clipping. Data Parallel Pipelines Some operations will work regardless. Example: Clipping. Data Parallel Pipelines Some operations will work regardless. Example: Clipping. Data Parallel Pipelines Some operations will have problems. Example: External Faces Data Parallel Pipelines Some operations will have problems. Example: External Faces Data Parallel Pipelines Ghost cells can solve most of these problems. Data Parallel Pipelines Ghost cells can solve most of these problems. Data Partitioning Partitions should be load balanced and spatially coherent. Data Partitioning Partitions should be load balanced and spatially coherent. Data Partitioning Partitions should be load balanced and spatially coherent. Load Balancing/Ghost Cells Automatic for Structured Meshes. Partitioning/ghost cells for unstructured is manual. Use the D3 filter for unstructured (Filters Alphabetical D3) Job Size Rules of Thumb Structured Data Try for max 20 M cell/processor. Shoot for 5 10 M cell/processor. Unstructured Data Try for max 1 M cell/processor. Shoot for 250 500 K cell/processor. Avoiding Data Explosion Pipeline may cause data to be copied, created, converted. This advice only for dealing with very large amounts of data. Remaining available memory is low. Topology Changing, No Reduction Append Datasets Append Geometry Clean Clean to Grid Connectivity D3 Delaunay 2D/3D Extract Edges Linear Extrusion Loop Subdivision Reflect Rotational Extrusion Shrink Smooth Subdivide Tessellate Tetrahedralize Triangle Strips Triangulate Topology Changing, Moderate Reduction Clip Decimate Extract Cells by Region Extract Selection Quadric Clustering Threshold Similar: Extract Subset Topology Changing, Dimension Reduction Cell Centers Contour Extract CTH Fragments Extract CTH Parts Extract Surface Feature Edges Mask Points Outline (curvilinear) Slice Stream Tracer Adds Field Data Block Scalars Calculator Cell Data to Point Data Compute Derivatives Curvature Elevation Generate Ids Gen. Surface Normals Gradient Level Scalars Median Mesh Quality Octree Depth Limit Octree Depth Scalars Point Data to Cell Data Process Id Scalars Random Vectors Resample with dataset Surface Flow Surface Vectors Texture Map to Transform Warp (scalar) Warp (vector) Total Shallow Copy or Output Independent of Input Annotate Time Append Attributes Extract Block Extract Datasets Extract Level Glyph Group Datasets Histogram Integrate Variables Normal Glyphs Outline Outline Corners Plot Global Variables Over Time Plot Over Line Plot Selection Over Time Probe Location Temporal Shift Scale Temporal Snap-to- Time-Steps Temporal Statistics Special Cases Temporal Filters Temporal Interpolator Particle Tracer Temporal Cache Programmable Filter Culling Data Reduce dimensionality early. Contour and slice see inside volumes. Prefer data reduction over extraction. Slice instead of Clip. Contour instead of Threshold. Only extract when reducing an order of magnitude or more. Can still run into troubles. Culling Data Experiment with subsampled data. Extract Subset Use caution. Subsampled data may be lacking. Use full data to draw final conclusions. Memory Inspector Rendering Modes Still Render Full detail render. Interactive Render Sacrifices detail for speed. Provides quick rendering rate. Used when interacting with 3D view. Level of Detail (LOD) Geometric decimation Used only with Interactive Render Original Data Divisions: 50x50x50 Divisions: 10x10x10 3D Rendering Parameters Edit Settings, Render View General Parallel Rendering Parallel Rendering Tiled Displays Image Size LOD ParaViews parallel rendering overhead proportional to image size. Can use smaller images for interactive rendering. Original Data Subsample Rate: 2 pixels Subsample Rate: 4 pixels Subsample Rate: 8 pixels Parallel Rendering Parameters Edit Settings, Render View Server Parameters for Large Data Use Immediate Mode Rendering off for GPU, on for CPU. Try LOD Threshold off. Also try LOD Resolution 10x10x10. Always have remote rendering on. Turn on subsampling. Image Compression on. Parameters for Low Bandwidth Try larger subsampling rates. Try Zlib compression and fewer bits.
Parameters for High Latency Turn up Remote Render Threshold. Turn on Use outline for LOD rendering if necessary. Play with the LOD Threshold and LOD Resolution to control geometry sent to client. Try turning on Lock Interactive Render. Thanks for Attending Please Fill Out the Survey http://bit.ly/sc13-tut-sh03 Further Reading The ParaView Users Guide http://paraview.org/Wiki/ParaView/Users_Guide/Table_Of_C ontents http://www.paraview.org/Wiki/ParaView http://www.paraview.org/Wiki/Setting_up_a_ParaView_Server Further Reading Visualization and Customization Will Schroeder, Ken Martin, and Bill Lorensen. The Visualization Toolkit. Kitware, Inc., fourth edition, 2006. Kitware Inc. The VTK Users Guide. Kitware, Inc., 2006. J asmin Blanchette and Mark Summerfield. C++ GUI Programming with Qt 4. Prentice Hall, 2006. Further Reading Parallel VTK Topics J ames Ahrens, Charles Law, Will Schroeder, Ken Martin, and Michael Papka. A Parallel Approach for Efficiently Visualizing Extremely Large, Time-Varying Datasets. Technical Report #LAUR-00-1620, Los Alamos National Laboratory, 2000. J ames Ahrens, Kristi Brislawn, Ken Martin, Berk Geveci, C. Charles Law, and Michael Papka. Large- Scale Data Visualization Using Parallel Data Streaming. IEEE Computer Graphics and Applications, 21(4): 3441, J uly/August 2001. Andy Cedilnik, Berk Geveci, Kenneth Moreland, J ames Ahrens, and J ean Farve. Remote Large Data Visualization in the ParaView Framework. Eurographics Parallel Graphics and Visualization 2006, pg. 163170, May 2006. Further Reading Advanced Pipeline Execution J ames P. Ahrens, Nehal Desai, Patrick S. McCormic, Ken Martin, and J onathan Woodring. A Modular, Extensible Visualization System Architecture for Culled, Prioritized Data Streaming. Visualization and Data Analysis 2007, Proceedings of SPIE-IS&T Electronic Imaging, pg 64950I-112, J anuary 2007. J ohn Biddiscombe, Berk Geveci, Ken Martin, Kenneth Moreland, and David Thompson. Time Dependent Processing in a Parallel Pipeline Architecture. IEEE Visualization 2007. October 2007. Further Reading Parallel Rendering Kenneth Moreland, Brian Wylie, and Constantine Pavlakos. Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays. Proceedings of IEEE 2001 Symposium on Parallel and Large-Data Visualization and Graphics, pg. 85 92, October 2001. Kenneth Moreland and David Thompson. From Cluster to Wall with VTK. Proceddings of IEEE 2003 Symposium on Parallel and Large-Data Visualization and Graphics, pg. 2531, October 2003. Kenneth Moreland, Lisa Avila, and Lee Ann Fisk. Parallel Unstructured Volume Rendering in ParaView. Visualization and Data Analysis 2007, Proceedings of SPIE-IS&T Electronic Imaging, pg. 64950F-112, J anuary 2007.