Visualization Needs. Joseph A. Insley. Mira Performance Boot Camp May 20, 2015



Similar documents
Parallel Large-Scale Visualization

Introduction to Paraview. H.D.Rajesh

Visualization with ParaView. Greg Johnson

Why are we teaching you VisIt?

A Hybrid Visualization System for Molecular Models

Open Source CFD Solver - OpenFOAM

Facts about Visualization Pipelines, applicable to VisIt and ParaView

Visualization with ParaView

CHAPTER FIVE RESULT ANALYSIS

UCRL-SM VisIt User s Manual. October Version 1.5. Laboratory. National. Lawrence Livermore

Visualization Infrastructure and Services at the MPCDF

Interactive Data Visualization with Focus on Climate Research

VisIt Visualization Tool

Petascale Visualization: Approaches and Initial Results

Avizo AvizoFire - The 3D visualization Software for NDT & Materials Science

Distributed Visualization Parallel Visualization Large data volumes

Large-Data Software Defined Visualization on CPUs

Introduction to ACENET Accelerating Discovery with Computational Research May, 2015

Visualization and Post Processing of OpenFOAM results a Brie. a Brief Introduction to VTK

High Performance Computing in CST STUDIO SUITE

Introduction to Visualization with VTK and ParaView

Purchase of High Performance Computing (HPC) Central Compute Resources by Northwestern Researchers

How To Build A Supermicro Computer With A 32 Core Power Core (Powerpc) And A 32-Core (Powerpc) (Powerpowerpter) (I386) (Amd) (Microcore) (Supermicro) (

Parallel Analysis and Visualization on Cray Compute Node Linux

Visualization of Adaptive Mesh Refinement Data with VisIt

Kriterien für ein PetaFlop System

ParaView s Comparative Viewing, XY Plot, Spreadsheet View, Matrix View

Remote & Collaborative Visualization. Texas Advanced Compu1ng Center

Using MATLAB to Measure the Diameter of an Object within an Image

Exploratory Climate Data Visualization and Analysis

Data Visualization for Atomistic/Molecular Simulations. Douglas E. Spearot University of Arkansas

How is EnSight Uniquely Suited to FLOW-3D Data?

CORRIGENDUM TO TENDER FOR HIGH PERFORMANCE SERVER

High Performance. CAEA elearning Series. Jonathan G. Dudley, Ph.D. 06/09/ CAE Associates

VisIt: A Tool for Visualizing and Analyzing Very Large Data. Hank Childs, Lawrence Berkeley National Laboratory December 13, 2010

Accelerating CFD using OpenFOAM with GPUs

JUROPA Linux Cluster An Overview. 19 May 2014 Ulrich Detert

Visualization Cluster Getting Started

Parallel Visualization of Petascale Simulation Results from GROMACS, NAMD and CP2K on IBM Blue Gene/P using VisIt Visualization Toolkit

EUCIP - IT Administrator. Module 2 Operating Systems. Version 2.0

Using WestGrid. Patrick Mann, Manager, Technical Operations Jan.15, 2014

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data

INSTALLATION GUIDE ENTERPRISE DYNAMICS 9.0

Using the Windows Cluster

HPC and Big Data. EPCC The University of Edinburgh. Adrian Jackson Technical Architect

Parallel Computing with MATLAB

GPU Renderfarm with Integrated Asset Management & Production System (AMPS)

Introduction to Batch Visualization

Structure Tools and Visualization

f o r d e m a n d i n g C F D pre- & post-processing ANSA μετα p i o n e e r i n g software systems

SOFTWARE FOR 3D IMAGE VISUALISATION, ANALYSIS AND MODEL GENERATION

In-situ Visualization: State-of-the-art and Some Use Cases

The Uintah Framework: A Unified Heterogeneous Task Scheduling and Runtime System

PLGrid Infrastructure Solutions For Computational Chemistry

Data Centric Interactive Visualization of Very Large Data

A GPU COMPUTING PLATFORM (SAGA) AND A CFD CODE ON GPU FOR AEROSPACE APPLICATIONS

Autodesk Revit 2016 Product Line System Requirements and Recommendations

Mississippi State University High Performance Computing Collaboratory Brief Overview. Trey Breckenridge Director, HPC

Brainlab Node TM Technical Specifications

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect

NVIDIA IndeX. Whitepaper. Document version June 2013

Overview of HPC Resources at Vanderbilt

James Ahrens, Berk Geveci, Charles Law. Technical Report

Revit products will use multiple cores for many tasks, using up to 16 cores for nearphotorealistic

Parallel Simplification of Large Meshes on PC Clusters

OpenFOAM postprocessing and advanced running options

AP ENPS ANYWHERE. Hardware and software requirements

IDL. Get the answers you need from your data. IDL

HPC Wales Skills Academy Course Catalogue 2015

Advanced visualization with VisNow platform Case study #3 Vector data visualization

Bringing Big Data Modelling into the Hands of Domain Experts

Cluster Scalability of ANSYS FLUENT 12 for a Large Aerodynamics Case on the Darwin Supercomputer

Running on Blue Gene/Q at Argonne Leadership Computing Facility (ALCF)

Fast Setup and Integration of ABAQUS on HPC Linux Cluster and the Study of Its Scalability

Overview of HPC systems and software available within

HETEROGENEOUS HPC, ARCHITECTURE OPTIMIZATION, AND NVLINK

Glass coloured glass may pick up on scan. Top right of screen tabs: these tabs will relocate lost windows.

Cornell University Center for Advanced Computing

Estonian Scientific Computing Infrastructure (ETAIS)

LANL Computing Environment for PSAAP Partners

COMP/CS 605: Intro to Parallel Computing Lecture 01: Parallel Computing Overview (Part 1)

MayaVi: A free tool for CFD data visualization

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data

NERSC File Systems and How to Use Them

Parallel Programming Survey

Part I Courses Syllabus

Windows Server 2008 R2 Essentials

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X

Results Visualization

The Asterope compute cluster

Scientific Visualization with Open Source Tools. HM 2014 Julien Jomier

:Introducing Star-P. The Open Platform for Parallel Application Development. Yoel Jacobsen E&M Computing LTD

Scientific data formats and visualization of large datasets

Integration of Multi-disciplinary Visualization Platform with a Decision Support System for MD Nastran

Data analysis and visualization topics

Numerical Calculation of Laminar Flame Propagation with Parallelism Assignment ZERO, CS 267, UC Berkeley, Spring 2015

Transcription:

Your Data Analysis & Visualization Needs Joseph A. Insley Mira Performance Boot Camp May 20, 2015

Tukey- High Performance Visualization Cluster 96 AMD Dual Opteron 6128 Compute Nodes 16 total CPU cores per node 64 GB RAM 2 NVIDIA Tesla M2070 GPUs, 6 GB RAM each 6 terabytes of CPU RAM, 1.1 terabytes of GPU RAM Peak GPU Performance: Over 98 TeraFLOPS Cross-Mounted Filesystem with Mira 2

Cooley Expected June production Analytics/Visualization cluster Peak 223 TF 126 nodes; each node has Two Intel Xeon E5-2620 Haswell 2.4 GHz 6-core processors NVIDIA Telsa K80 graphics processing unit (24GB) 384 GB of RAM Aggregate RAM of 47 TB (vs. ~6TB for Tukey) Aggregate GPU memory of~3tb (vs. ~1.1TB for Tukey) Cray CS System 216 port FDR IB switch with uplinks to our QDR infrastructure Will mount the same GPFS file systems as Mira, Cetus 3

Data Representations: Volume Rendering Turn 2- and 3-dimensionsal datasets into 2D images Approximation: Volume ray casting

Data Representations: Glyphs 2D or 3D geometric object to represent point data Location dictated by coordinate 3D location on mesh 2D position in table/graph Attributes of graphical entity dictated by attributes of a data color, size, orientation

Data Representations: Iso-contours A Line (2D) or Surface (3D), representing a constant value

Data Representations: Cutting Planes Slice a plane through the data Can apply additional visualization methods to resulting plane

Data Representations: Streamlines From vector field on a mesh (needs connectivity) Show the direction an element will travel in at any point in time.

Molecular Dynamics Visualization Domain-specific representations Backbone Display attributes by atom type Ball and stick Ribbon representation etc.

All Sorts of Tools (*not all available at ALCF) Visualization Applications VisIt ParaView EnSight Domain Specific VMD, PyMol, RasMol APIs VTK: visualization ITK: segmentat & registration GPU performance vl3: shader-based vol ren Scout: GPGPU acceleration Analysis Environments Matlab Parallel R Utilities GnuPlot ImageMagick Visualization Workflow VisTrails 10

Visualization Modes Interactive Data exploration Generating movies Batch Known quantities/configurations Generating movies Stand-alone smaller data move locally and visualize there Client/server mode Use interactive sessions to produce state for visualizing larger data / time series in batch mode. 11

Client/Server Mode Tukey Visualization Cluster Local Desktop Shell on Tukey DISK 5 1 ParaView Client 2 VIS NODE VIS NODE VIS NODE VIS NODE 3 4 ParaView Server 12

ParaView Example Tutorial Page: www.alcf.anl.gov/user-guides/paraview-tukey Launch pvserver qsub -I -n 4 -t 60 -A project_id -q pubnet mpiexec -f $COBALT_NODEFILE -np 4 pvserver --server-port=8000 ParaView Client Configure server Connect Do some vis

HACC: Cosmology Simulation Data: 10Kx10Kx800 (~316GB) Visualization considerations: Number of visualization nodes, processes, GPUs Trade-offs Are you memory, compute, or rendering bound? 14

Data Logistics Storing data /projects/<project_id> Backup data HPSS Tape Archive www.alcf.anl.gov/user-guides/using-hpss Moving data scp handy for small manageable data Globus Online (www.globusonline.org) useful for bigger/ more complex data GridFTP servers Local downloads (Globus Connect) Fire and forget 15

Data File Formats (ParaView & VisIt, partial list) ParaView Data (.pvd) VTK (.vtp,.vtu,.vti,.vts,.vtr) VTK Legacy (.vtk) VTK Multi Block (.vtm,.vtmb,.vtmg,.vthd,.vthb) Partitioned VTK (.pvtu,.pvti,.pvts,.pvtr) ADAPT (.nc,.cdf,.elev,.ncd) ANALYZE (.img,.hdr) ANSYS (.inp) AVS UCD (.inp) BOV (.bov) BYU (.g) CAM NetCDF (.nc,.ncdf) CCSM MTSD (.nc,.cdf,.elev,.ncd) CCSM STSD (.nc,.cdf,.elev,.ncd) CEAucd (.ucd,.inp) CMAT (.cmat) CML (.cml) CTRL (.ctrl) Chombo (.hdf5,.h5) Claw (.claw) Comma Separated Values (.csv) Cosmology Files (.cosmo,.gadget2) Curve2D (.curve,.ultra,.ult,.u) DDCMD (.ddcmd) Digital Elevation Map (.dem) Dyna3D(.dyn) EnSight (.case,.sos) Enzo boundary and hierarchy ExodusII (.g,.e,.exe,.ex2,.ex2v.., etc) ExtrudedVol (.exvol) FVCOM (MTMD, MTSD, Particle, STSD) Facet Polygonal Data Flash multiblock files Fluent Case Files (.cas) GGCM (.3df,.mer) GTC (.h5) GULP (.trg) Gadget (.gadget) Gaussian Cube File (.cube) JPEG Image (.jpg,.jpeg) LAMPPS Dump (.dump) LAMPPS Structure Files LODI (.nc,.cdf,.elev,.ncd) LODI Particle (.nc,.cdf,.elev,.ncd) LS-DYNA (.k,.lsdyna,.d3plot, d3plot) M3DCl (.h5) MFIX Unstructred Grid (.RES) MM5 (.mm5) MPAS NetCDF (.nc,.ncdf) Meta Image (.mhd,.mha) Miranda (.mir,.raw) Multilevel 3d Plasma (.m3d,.h5) NASTRAN (.nas,.f06) Nek5000 Files Nrrd Raw Image (.nrrd,.nhdr) OpenFOAM Files (.foam) PATRAN (.neu) PFLOTRAN (.h5) PLOT2D (.p2d) PLOT3D (.xyz,.q,.x,.vp3d) PLY Polygonal File Format PNG Image Files POP Ocean Files ParaDIS Files Phasta Files (.pht) Pixie Files (.h5) ProSTAR (.cel,.vrt) Protein Data Bank (.pdb,.ent,.pdb) Raw Image Files Raw NRRD image files (.nrrd) SAMRAI (.samrai) SAR (.SAR,.sar) SAS (.sasgeom,.sas,.sasdata) SESAME Tables SLAC netcdf mesh and mode data SLAC netcdf particle data Silo (.silo,.pdb) Spheral (.spheral,.sv) SpyPlot CTH SpyPlot (.case) SpyPlot History (.hscth) Stereo Lithography (.stl) TFT Files TIFF Image Files TSurf Files Tecplot ASCII (.tec,.tp) Tecplot Binary (.plt) Tetrad (.hdf5,.h5) UNIC (.h5) VASP CHGCA (.CHG) VASP OUT (.OUT) VASP POSTCAR (.POS) VPIC (.vpc) VRML (.wrl) Velodyne (.vld,.rst) VizSchema (.h5,.vsh5) Wavefront Polygonal Data (.obj) WindBlade (.wind) XDMF and hdf5 (.xmf,.xdmf) XMol Molecule

Data Wrangling XDMF XML wrapper around HDF5/binary data Can define data sets, subsets, hyperslabs vtk Could add to your simulation code Can write small utilities to convert data Use your own read routines Write vtk data structures C++ and Python bindings Silo Could add to your simulation code Can write small utilities to convert data Use your own read routines Write Silo data structures C and Fortran bindings 17

Data Organization Format Existing tools support many flavors Use one of these formats Write a custom reader for existing tool NekTar example Write your own custom vis tool 18

Multi-Scale Simulation/Visualization: Arterial Blood Flow Anterior Cerebral Middle Cerebral Aneurysm Basilar Right Interior Carotid Artery Left Interior Carotid Artery Vertebral Red Blood Cells

Macroscale Simulation (NekTar) NekTar: Spectral/hp element method (SEM) Non-overlapping elements Multi-level approach Domain decomposed into overlapping patches NekTar Data Saved in Modal space Mesh (geometry) Solution data

NekTar-ParaView Coupling NekTar for parallel I/O and computation ParaView for parallel visualization and rendering Implement methods: RequestInformation() RequestData()

Plug-in Controls Select variables Interactively set data resolution No need to re-read data from disk Time varying data Only new data read from disk, not geometry

Derived Quantities: Vorticity Data computed with high-order spectral accuracy Grid consistent with simulation resolution

Fluid-Structure Interaction Dynamic mesh Stress Tensor

Microscale Simulation (DPD-LAMMPS) Modified version of LAMMPS Atomistic (particle) data Plasma Red Blood Cells (RBC) Platelets Filtering Based on particle attributes 25

Particles as Glyphs Filters->Alphabetical->Glyph Glyph Type: Sphere Orient: Unchecked Scale Mode: off Set Scale Factor: 0.5 Glyph Mode: Every Nth Point Stride: 10

Data Organization Serial vs. Parallel/Partitioned Single big file vs. many small files: middle ground generally best vtk data types XDMF for ParaView and VisIt Serial vs. Parallel/Partitioned Performance trade-offs vtk/paraview: Single serial file: all data read on head node, partitioned and distributed vtk/paraview: Parallel files: made up of smaller serial files, partitioned across processes, read in parallel 27

Data Organization Performance example: Single serial.vtu file (unstructured grid) Data size: ~3.8GB Read time on 64 processes: > 15 minutes most of this was spent partitioning and distributing Partitioned.pvtu file (unstructured grid) Data size: ~8.7GB (64 partitions) Read time on 64 processes: < 1 second 28

ParaView States and Scripting Choose File Save State.pvsm (for restoring state in interactive mode) saved on the client side Choose File Save State.py (for use with pvbatch) saved on the client side Edit.py script short example, loop over time steps, saving images 29

VERIFI: Multi-case Temperature 4 cases (SIO -36, -35, -30, -24) Each case: 330 time steps VTK files: ~1.1TB 30

ParaView States and Scripting IMAGE_DIR="/projects/my_project/FRAMES/ IN_DATA_BASE= /projects/my_project/data/soi- 24- " STEP_START=1 STEP_COUNT=330 STEP_INC=1 start_frame=int(sys.argv[1]) num_frames=int(sys.argv[2]) DATA_FILES = [] for i in range(step_start, STEP_START+(STEP_COUNT*STEP_INC), STEP_INC): TEMP_FILE= %s%06d%s" % (IN_DATA_BASE, i,.vtu ) DATA_FILES.append(TEMP_FILE) 31

ParaView States and Scripting try: paraview.simple except: from paraview.simple import * paraview.simple._disablefirstrendercamerareset() RenderView1 = CreateRenderView() RenderView1.ViewSize = [1920, 1080] soidata = XMLUnstructuredGridReader( guiname="soi- Data*", CellArrayStatus=['temp', 'equiv_raho', 'rank'], FileName=DATA_FILES) 32

ParaView States and Scripting #Render() hme_vals = soidata.timestepvalues for i in range(start_frame, start_frame+num_frames): RenderView1.ViewTime = hme_vals[i] RenderView1.ShllRender() IMAGE_FILE="%s/frame_%04d.png" % (IMAGE_DIR, i) print "saving: " + IMAGE_FILE WriteImage(IMAGE_FILE) 33

ParaView Batch Mode Copy.py script need to copy the.py script to Tukey pvbatch mpiexec -f $COBALT_NODEFILE -np 4 pvbatch <script.py> <start_frame> <num_frames> could run in qsubi mode, or totally batch 34

Movie Making VisIt/ParaView: save animation can save animation file can save individual images I tend to do this, allows for more flexibility Adobe Premiere, Final Cut, etc. commercial tools enable lots of options, but do cost money (ALCF does not provide these tools) ImageMagick tools for annotating and combining images in different ways 35

Annotation, compositing, scaling ImageMagick convert, composite, montage, etc. convert comp- test- in- 3200x2000.png font Arial.m - pointsize 40 - gravity northwest - fill black - draw 'rectangle 18,103,821,157' legend- big.png - geometry +20+105 - composite - fill black - draw 'rectangle 2375,103,3178,157' legend- big.png - geometry +2377+105 - composite - fill black - draw 'rectangle 18,1815,821,1869' legend- big.png - geometry +20+1817 - composite - fill black - draw 'rectangle 2375,1815,3178,1869' legend- big.png - geometry +2377+1817 - composite - stroke '#000F' - strokewidth 3 - annotate +13+155 '0.0' - stroke none - fill white - annotate +13+155 '0.0' - stroke '#000F' - strokewidth 3 - annotate +755+155 '25.0' - stroke none - fill white - annotate +755+155 '25.0' - pointsize 40 - gravity northeast - stroke '#000F' - strokewidth 3 - annotate +775+155 '0.0' - stroke none - fill white - annotate +775+155 '0.0' - stroke '#000F' - strokewidth 3 - annotate +20+155 '83.4' - stroke none - fill white - annotate +20+155 '83.4' - gravity southwest - stroke '#000F' - strokewidth 3 - annotate +13+83 '0.0' - stroke none - fill white - annotate +13+83 '0.0' - stroke '#000F' - strokewidth 3 - annotate +702+83 '5.0e- 27' - stroke none - fill white - annotate +702+83 '5.0e- 27' - gravity southeast - stroke '#000F' - strokewidth 3 - annotate +775+83 '0.0' - stroke none - fill white - annotate +775+83 '0.0' - stroke '#000F' - strokewidth 3 - annotate +28+83 '5.0e- 5' - stroke none - fill white - annotate +28+83 '5.0e- 5' - depth 8 comp- test- image02.png

Movie Creation ffmpeg: Movie encoding softenv key: +ffmpeg-1.0.1 ffmpeg sameq i frame.%04d.png movie.mp4 Combine multiple segments of frames Create a directory of symbolic links to all frames in order 37

Visualization for Verification

Visualization for Debugging

Visualization for Debugging

Visualization as Diagnostics: Color by Thread ID

More info Tukey user guide: www.alcf.anl.gov/user-guides/tukey Online ParaView tutorial: www.alcf.anl.gov/user-guides/vis-paraview-red-blood-celltutorial 42