Facts about Visualization Pipelines, applicable to VisIt and ParaView



Similar documents
Distributed Visualization Parallel Visualization Large data volumes

James Ahrens, Berk Geveci, Charles Law. Technical Report

Introduction to Paraview. H.D.Rajesh

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

Visualization with ParaView. Greg Johnson

Parallel Analysis and Visualization on Cray Compute Node Linux

The Design and Implement of Ultra-scale Data Parallel. In-situ Visualization System

Parallel Large-Scale Visualization

Introduction to Visualization with VTK and ParaView

Visualization with ParaView

The STC for Event Analysis: Scalability Issues

Processing Data with rsmap3d Software Services Group Advanced Photon Source Argonne National Laboratory

Petascale Visualization: Approaches and Initial Results

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

CHAPTER FIVE RESULT ANALYSIS

Scientific Visualization with Open Source Tools. HM 2014 Julien Jomier

The Visualization Pipeline

VisIt Visualization Tool

Why are we teaching you VisIt?

Visualization of Adaptive Mesh Refinement Data with VisIt

Lecture Notes, CEng 477


Recognization of Satellite Images of Large Scale Data Based On Map- Reduce Framework

Parallel Simplification of Large Meshes on PC Clusters

Visualization Plugin for ParaView

A Novel Cloud Based Elastic Framework for Big Data Preprocessing

In-situ Visualization

Post-processing and Visualization with Open-Source Tools. Journée Scientifique Centre Image April 9, Julien Jomier

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

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH

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

Big Data and Analytics: Getting Started with ArcGIS. Mike Park Erik Hoel

Large-Data Software Defined Visualization on CPUs

CPIT-285 Computer Graphics

A Hybrid Visualization System for Molecular Models

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Integrated Open-Source Geophysical Processing and Visualization

International Journal of Advancements in Research & Technology, Volume 3, Issue 2, February ISSN

Web Map Service Architecture for Topographic Data in Finland

FP-Hadoop: Efficient Execution of Parallel Jobs Over Skewed Data

A Method Using ArcMap to Create a Hydrologically conditioned Digital Elevation Model

Apache Flink Next-gen data analysis. Kostas

MayaVi: A free tool for CFD data visualization

Introduction to Imagery and Raster Data in ArcGIS

Hadoop and Map-Reduce. Swati Gore

Remote Graphical Visualization of Large Interactive Spatial Data

VisIVO, a VO-Enabled tool for Scientific Visualization and Data Analysis: Overview and Demo

Introduction to Computer Graphics

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Introduction to DISC and Hadoop

Tackling Big Data with MATLAB Adam Filion Application Engineer MathWorks, Inc.

Zhenping Liu *, Yao Liang * Virginia Polytechnic Institute and State University. Xu Liang ** University of California, Berkeley

Chapter 7. Using Hadoop Cluster and MapReduce

Visualisatie BMT. Introduction, visualization, visualization pipeline. Arjan Kok Huub van de Wetering

Parallel Visualization for GIS Applications

S ECOND PROTOTYPE. Activity: Lead Partner: Document classification:

BIG DATA VISUALIZATION. Team Impossible Peter Vilim, Sruthi Mayuram Krithivasan, Matt Burrough, and Ismini Lourentzou

Visualisation in the Google Cloud

MEng, BSc Applied Computer Science

Introduction to MeVisLab Visual Programming Image Processing / VIsualization Examples VTK / ITK Integration MeVisLab SDK Features GUI Scripting

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

The Scientific Data Mining Process

An Interactive 3D Visualization Tool for Large Scale Data Sets for Quantitative Atom Probe Tomography

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

Big Data Visualization on the MIC

NVIDIA IndeX. Whitepaper. Document version June 2013

Visualizing Data: Scalable Interactivity

How To Write A Data Processing Pipeline In R

Big Data: Using ArcGIS with Apache Hadoop. Erik Hoel and Mike Park

BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality

MEng, BSc Computer Science with Artificial Intelligence

Scalable Data Analysis in R. Lee E. Edlefsen Chief Scientist UserR! 2011

Scalability and Design Patterns

Architectures for massive data management

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago

The Hadoop Framework

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

Big Data With Hadoop

GPU Architecture. Michael Doggett ATI

ICS : 435. Computer Graphics Applications. Instructor : Da'ad Albalawneh

Open Source UAS Software Toolkits. Keith Fieldhouse Technical Lead, Kitware Inc.

Multiresolution 3D Rendering on Mobile Devices

Interactive Data Mining and Visualization

Data Centric Interactive Visualization of Very Large Data

OpenFOAM postprocessing and advanced running options

Cassandra 2.0: Tutorial

FlowMergeCluster Documentation

Visualizing Electromagnetic Fields: The Visualization Toolkit. Michael Selvanayagam

Transcription:

Facts about Visualization Pipelines, applicable to VisIt and ParaView March 2013 Jean M. Favre, CSCS

Agenda Visualization pipelines Motivation by examples VTK Data Streaming

Visualization Pipelines: Introduction From a survey article by Ken Moreland, IEEE Transactions on Visualizations and Computer Graphics, vol 19. no 3, March 2013 3

Visualization Pipelines: Definitions Modules are functional units, with 0 or more inputs ports and 0 or more output ports. Connections are directional attachments between input and output ports. Execution management is inherent in the pipeline Event-driven Demand-driven 4

Visualization Pipelines: Metadata 1st pass: Sources describe the region they can generate. 2nd pass: The application decides which region the sink should process. 3 rd pass: The actual data flow thru the pipeline 5

Visualization Pipelines: Data Parallelism Data parallelism partitions the input data into a set number of pieces, and replicates the pipeline for each piece. Some filters will have to exchange information (e.g. streamlines) A special rendering phase will be needed. 6

VisIt and ParaView are based on VTK The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. VisIt and ParaView are end-user applications based on VTK, with support for: Parallel Data Archiving Parallel Reading Parallel Processing Parallel Rendering VisIt/ParaView VTK OpenGL MPI Single node, client-server, MPI cluster rendering Python Qt

The VTK visualization pipeline, lesson 1 VTK s main execution paradigm is the data-flow, i.e. the concept of a downstream flow of data Data Sources Data Filters Data Mappers Rendering (() Filter.SetInputConnection(Source.GetOutputPort (() Mapper.SetInputConnection(Filter.GetOutputPort

Examples of Filters/Sources Contour Cut Clip Threshold Extract grid Warp vector Stream lines Integrate flow Surface vectors Glyph Calculator Pick cell Probe Group Ungroup AMR outline AMR extract part AMR surface Wavelet Measure Fractal Sphere Superquadric

The VTK visualization pipeline, lesson 2 VTK extends the data-flow paradigm VTK acts as an event-flow environment, where data flow downstream and events (or information) flow upstream ParaView s Rendering drives the execution: view.stillrender() Data Sources Data Filters Data Mappers Rendering VisIt defines its own meta-data package, called Contracts

Example of a VisIt Contract Spatial extents are examined and the visualization pipeline is by-passed for those outside the range

Example of a VisIt Contract 1 2 N Selection of partitions and assignments to processors Data extents (min & max) are examined and the visualization pipeline is bypassed for those outside the range Surface Extraction & data filtering Rendering

The VTK visualization pipeline, lesson 3 Data Source Large data (when dividable) can be treated by pieces. The Source will distribute data pieces to multiple execution engines Parallel pipelines will be instantiat to treat all pieces and create the graphics output. This is hidden from the user. 1 2 N Data Filters Data Mappers Rendering

First Rendering option Data Source The client (GUI) collects all objects to be rendered Each pipeline creates rendering primitives from its partial data, The client does a heavy rendering 1 2 N Data Filters Mappers Rendering

Second Rendering option Data Source Sort-last rendering Each pipeline does a fullframe rendering of its partial data An image compositor merges all images by comparing Z-depth of all pixels 1 2 N Data Filters Mappers Final Image Rendering

Sort-last rendering [pixel compositing] Node 0 sends its frame buffer to the client Node 0 collects [composits] all frames buffers 25/11/2008

Arbitrary (or adaptive) 3-D data partitioning Is the final image order-independent? A sort-last compositing enables complete freedom in data partitioning. Each pixel carries its color & depth

Third Rendering option Tiled-Display Data Source Each renderer does a partialframe rendering of the full data 1 2 N Data Filters Mappers Final Image

When large data require distributed processing Sub-sampling can help prototype a visualization As long as the data format/reader supports ( format it. (see the Xdmf ( node Piece-wise processing (on a single Data streaming (when the whole ( memory visualization will not fit in ( nodes Distributed processing (on multiple Parallel file I/O Parallel processing Parallel rendering

When there is too much data Several strategies are available to mitigate this, e.g. multi-resolution, on-demand, out-of-core, etc...

Sub-sampling, streaming or multi-pass The snow removal was done in about 5 passes Data Streaming = Divide and conquer Load datasets of any size by splitting the volumes in pieces Process the split data

Example: Digital Elevation Model The VTK file header => # vtk DataFile Version 3.0 European DEM File BINARY DATASET STRUCTURED_POINTS DIMENSIONS 8319 7638 1 ORIGIN 0 0 0 SPACING 1 1 1 POINT_DATA 63540522

Use sub-sampling when data are too big Warning: 64 millions points are first read in memory, then sub-sampled The memory footprint can still be huge Data Sources ExtractSubset WarpScalar PolyDataMapper Rendering

Memory usage blows-up down the pipeline...

Data Streaming in VTK Data larger than memory can be easily treated Piece by piece Releasing or re-using memory after each subset Optionally accumulating sub-object representations for the final image The upstream filters should be prepared to handle piece requests of any size Each filter can translate the piece request

Reminder: VTK pipeline The VTK pipeline enables a twoway exchange of data & information. The renderer drives the request for data updates. First pass: Get general bounds information, without reading the data Second pass: Decide how much to sub-divide [The Extent Translator], and process pieces Data Sources Data Filters Data Mappers Rendering

The Extent Translator The Extent Translator does a binary subdivision of the data and let the user access pieces one at a time

Streaming the data Data Sources mapper = vtkpolydatamapper() ExtractSubset mapper.setnumberofpieces(64) mapper.setpiece(0) PolyDataMapper Rendering

The Vis pipeline is under the hood Data Source Data Parallelism data are divided automatically based on the number of servers available Transient Data time-dependent data requests are also managed similarly via the two-way pipeline data exchange 1 2 N Data Filters Data Mappers Rendering

Summary VisIt and ParaView hide all the pipeline management Meta-data are paramount to let the pipeline schedule the most efficient processing VisIt and ParaView, as end-user applications, hide the pipeline, as much as possible Until we dig into programmable filters. 30