Practical HPC Visualization Mark Van Moer Visualization Programmer

  • Slides: 23
Download presentation
Practical HPC Visualization Mark Van Moer Visualization Programmer Advanced Digital Services NCSA/XSEDE/Blue Waters National

Practical HPC Visualization Mark Van Moer Visualization Programmer Advanced Digital Services NCSA/XSEDE/Blue Waters National Center for Supercomputing Applications University of Illinois at Urbana–Champaign

Sci. Vis – Info. Vis Spectrum Sci. Vis Info. Vis • • • Specific

Sci. Vis – Info. Vis Spectrum Sci. Vis Info. Vis • • • Specific geometry and topology – meshes, coordinates, … Physical data – temp, pressure, charge, … Natural processes – weather, CFD, MD, … • • • Arbitrary spatial arrangement – modifiable network graphs Cultural data – text, census data, music, … Relationships – statistical, social graphs, …

Sci. Vis – Info. Vis Spectrum

Sci. Vis – Info. Vis Spectrum

General – Domain Specific Applications General • Para. View • Vis. It Selected Domain

General – Domain Specific Applications General • Para. View • Vis. It Selected Domain Specific • VMD (molecular dynamics) • NCL/NCARG (climate/weather) • Ovito (atomistic) • Gephi (network graphs) • Tableau (info vis) • VAPOR (atmos/oceanography) • yt (astro, but evolving into general)

Para. View and Vis. It • • Widely supported at HPC centers Open source

Para. View and Vis. It • • Widely supported at HPC centers Open source Built on VTK C++ library Python scriptable • Can build Java wrappers; Fortran bindings for in-situ • • Batch processing Client-Server interactivity In-situ steering/co-processing Scalable

Para. View and Vis. It Approaches Para. View • Bottom-up • Load source •

Para. View and Vis. It Approaches Para. View • Bottom-up • Load source • Apply filter(s) to create vis pipeline • Pick visual representation Vis. It • Top-down • Load source • Chose plotting style • Refine plot through plot attributes or operators/operator attributes

Para. View Wiki • Client GUI section

Para. View Wiki • Client GUI section

Sample data • • In /scratch/staff/mvanmoer/public/ Regular orthogonal mesh (vtk. Image. Data) Pressure, temperature,

Sample data • • In /scratch/staff/mvanmoer/public/ Regular orthogonal mesh (vtk. Image. Data) Pressure, temperature, wind vector 110 x 35

Scalars – Color Mapping

Scalars – Color Mapping

Scalars – 2 D Contouring

Scalars – 2 D Contouring

Scalars – 3 D Contouring, Isosurfaces

Scalars – 3 D Contouring, Isosurfaces

Scalars – Layering Isosurfaces

Scalars – Layering Isosurfaces

Scalars – Volume Rendering

Scalars – Volume Rendering

Vectors - Glyphs

Vectors - Glyphs

Vectors - Warping

Vectors - Warping

Vectors – Streamlines/Path Lines/Particles

Vectors – Streamlines/Path Lines/Particles

Combining Techniques

Combining Techniques

Pain Points for HPC Vis • Anything requiring unknown amount of communication • Streamlines/Path

Pain Points for HPC Vis • Anything requiring unknown amount of communication • Streamlines/Path Lines • Ray tracing • Alpha blending • Image compositing • Gather step for vis • I/O • Non-linear finite elements • Will load, but few VTK algorithms work correctly • Animation • Entire pipeline has to be recreated each step • Pipelines with history (path lines) have to cache steps

Blue Waters Architecture from a Vis Perspective firewall Workstation • • • Login node

Blue Waters Architecture from a Vis Perspective firewall Workstation • • • Login node Mom node XE node(s) Do not use X 11 forwarding, extremely slow and clunky! Interactive jobs on Mom nodes, must use aprun Run Para. View or Vis. It directly on compute nodes, via ccm Vis. It client can launch remote jobs via host-profiles Para. View is clunkier, working on host-profile equivalent

Remote Vis

Remote Vis

In-situ vis • Connect to running simulations instead of loading data • • •

In-situ vis • Connect to running simulations instead of loading data • • • Steering Data too large to store Don’t want to store data, I/O too slow or unnecessary Vis. It libsim 2 Para. View Catalyst

General Vis Workflow Suggestions • Unless allocation is vis-specific, don’t waste SUs on mundane

General Vis Workflow Suggestions • Unless allocation is vis-specific, don’t waste SUs on mundane tasks, work locally: • Extract region of interest or sub-sample • Export scene/session from Vis. It or Para. View, batch render • Export polygonal data from end of vis pipeline • Save camera settings often • Save scene settings often • Look at provenance plugins, like Vis. Trails • Reset the default colormap and background color • Render at 4 X and down sample for anti-aliasing • Use python tracing to export script of actions, batch render

References • • Ware, C. (2004). Information Visualization. Amsterdam: Elsevier Schroeder, W. et al

References • • Ware, C. (2004). Information Visualization. Amsterdam: Elsevier Schroeder, W. et al (2006). The Visualization Toolkit, An Object-Oriented Approach to 3 D Graphics. Kitware Childs, H. et al (2012). Vis. It: An End-User Tool For Visualizing and Analyzing Very Large Data. Pg 357 -372, High Performance Visualization-Enabling Extreme-Scale Scientific Insight Ahrens, James, Geveci, Berk, Law, Charles, Para. View: An End-User Tool for Large Data Visualization, Visualization Handbook, Elsevier, (2005), ISBN-13: 9780123875822 Ayachit, Utkarsh, The Para. View Guide: A Parallel Visualization Application, Kitware, (2015), ISBN 978 -1930934306 Boland, D. , Taylor, R. M. , Rainbow Color Map (Still) Considered Harmful, (2007), Computer Graphics and Applications, IEEE DOI: 10. 1109/MCG. 2007. 323435 Diverging Color Maps for Scientific Visualization