Kitware Is A software company creating open-source collaboration platforms which are used globally for research teaching commercial application. This software is created by internationally recognized experts in extended communities using a rigorous, quality-inducing software development process.
From Ohloh: Very large, active development team: Over the past twelve months, 66 developers contributed new code to VTK. This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Ohloh. VTK Development Team and many others...
ParaView is VTK ParaView is developed by the VTK team The ParaView team develops in the VTK repository : all development benefits the whole community ParaView leverages all features of VTK
ParaView is a Framework ParaView extends VTK to provide: Client-server computing State management Python modules Application/GUI framework ParaView framework can be used to develop other applications ParaView can be embedded in other application and frameworks
Visualization Resources LANL Vis Cluster (2001): 128 dual-core nodes with NVIDIA Quadro FX 540 Sandia Red Rose (2005): 264 dual-core nodes with NVIDIA Quadro FX 3400 TACC Longhorn (2009): 256 8 core nodes with 2 NVIDIA Quadro FX 5800s
General Purpose Tools EnSight ParaView VisIt FieldView …
Objectives Develop an extensible and flexible co- processing library Develop CFD specific analysis and visualization algorithms Develop tools for visualizing, analyzing and managing extracts Integrate run-time visualization with co- processing
Setup Use ParaView Load and visualize extracts or previous simulation output for context Interactively build processing/visualization pipeline using available algorithms Save configuration file for co- processing library
Library Architecture Based on VTK/ParaView C, Fortran and Python bindings Built-in Python interpreter (optional) Full demand-driven pipeline Distributed computing with MPI Extract generation Rendering (off-screen with Mesa)
Connection with the Simulation simulation_initialize() coprocessor_initialize() for t in time_steps: do_compute() if coprocess_needed(): do_coprocess() coprocessor_finalize() simulation_finalize()
Connection with the Simulation Adapter or converter? Simple memory layout (structured data) We used converters for vectors, adapter for scalars Can we use adapters for both? Complex memory layout (unstructured grid connectivity) We used converters Possible to use generic dataset framework
Decision Making Based on Features Steer processing based on emerging features For example: Change extraction parameters Extract more or less often Demand-driven pipeline help Python bindings are ideal
Simulations – the More the Merrier Overflow (overset curvilinear) Phasta (unstructured) Acusolve (unstructured) Helios (unstructured - AMR hybrid) CTH (AMR) NPIC (structured)...
What Is Different? Extensible and flexible VTK API Python Scalable Leverages a larger system (ParaView) Tools for visualizing, analyzing and managing extracts
Management and Visualization of Extracts Extracts are saved multi- resolution Viewer streams extracts based on camera position Extracts are registered with a database (with meta-data) for data management
Compute power is growing fast Network speed is growing fast Researchers can simulate more Visualization resources are not scaling (budget) It is about insight Multiple solutions: In-situ Multi-resolution streaming Vis on supercomputer It is not always about size: Collaboration Ensemble analysis Need customized solutions Need frameworks to make it easy to build them Multiple slides from these