VisIt Libsim Update DOE Computer Graphics Forum 2012 Brad Whitlock

Slides:



Advertisements
Similar presentations
1 Slides presented by Hank Childs at the VACET/SDM workshop at the SDM Center All-Hands Meeting. November 26, 2007 Snoqualmie, Wa Work performed under.
Advertisements

Copyright (c) 2014 Intelligent Light All Rights Reserved.
1 Coven a Framework for High Performance Problem Solving Environments Nathan A. DeBardeleben Walter B. Ligon III Sourabh Pandit Dan C. Stanzione Jr. Parallel.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Brad Whitlock October 14, 2009 Brad Whitlock October 14, 2009 Porting VisIt to BG/P.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Project Overview:. Longhorn Project Overview Project Program: –NSF XD Vis Purpose: –Provide remote interactive visualization and data analysis services.
Experiments with Pure Parallelism Hank Childs, Dave Pugmire, Sean Ahern, Brad Whitlock, Mark Howison, Prabhat, Gunther Weber, & Wes Bethel April 13, 2010.
1.First Go to
So far we have covered … Basic visualization algorithms Parallel polygon rendering Occlusion culling They all indirectly or directly help understanding.
Nov. 14, 2012 Hank Childs, Lawrence Berkeley Jeremy Meredith, Oak Ridge Pat McCormick, Los Alamos Chris Sewell, Los Alamos Ken Moreland, Sandia Panel at.
Loosely Coupled Parallelism: Clusters. Context We have studied older archictures for loosely coupled parallelism, such as mesh’s, hypercubes etc, which.
Lawrence Livermore National Laboratory This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory.
Concurrent Programming. Concurrency  Concurrency means for a program to have multiple paths of execution running at (almost) the same time. Examples:
Evaluation of Agent Teamwork High Performance Distributed Computing Middleware. Solomon Lane Agent Teamwork Research Assistant October 2006 – March 2007.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
Towards Exascale File I/O Yutaka Ishikawa University of Tokyo, Japan 2009/05/21.
GVis: Grid-enabled Interactive Visualization State Key Laboratory. of CAD&CG Zhejiang University, Hangzhou
MESQUITE: Mesh Optimization Toolkit Brian Miller, LLNL
I/O for Structured-Grid AMR Phil Colella Lawrence Berkeley National Laboratory Coordinating PI, APDEC CET.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Toward interactive visualization in a distributed workflow Steven G. Parker Oscar Barney Ayla Khan Thiago Ize Steven G. Parker Oscar Barney Ayla Khan Thiago.
LLNL-PRES This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
Performane Analyzer Performance Analysis and Visualization of Large-Scale Uintah Simulations Kai Li, Allen D. Malony, Sameer Shende, Robert Bell Performance.
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
Parallel IO for Cluster Computing Tran, Van Hoai.
State Machine Replication State Machine Replication through transparent distributed protocols State Machine Replication through a shared log.
ECG Simulation NCRR Overview Technology for the ECG Simulation project CardioWave BioPSE project background Tools developed to date Tools for the next.
BIG DATA/ Hadoop Interview Questions.
Understanding your FLOW-3D simulations better with EnSight June 2012.
Emulating Volunteer Computing Scheduling Policies Dr. David P. Anderson University of California, Berkeley May 20, 2011.
VisIt Project Overview
VisIt 2.0 Features Brad Whitlock.
TensorFlow– A system for large-scale machine learning
MASS Java Documentation, Verification, and Testing
Introduction to Operating Systems
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Installation 1. Installation Sources
Alternatives to Mobile Agents
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
Working With Azure Batch AI
GdX - Grid eXplorer parXXL: A Fine Grained Development Environment on Coarse Grained Architectures PARA 2006 – UMEǺ Jens Gustedt - Stéphane Vialle - Amelia.
Transitioning VisIt to CMake
HDF5 October 8, 2017 Elena Pourmal Copyright 2016, The HDF Group.
In-situ Visualization using VisIt
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn.
For Virtual Environment for Ships and Ship-Mounted Cranes
Tamas Szalay, Volker Springel, Gerard Lemson
So far we have covered … Basic visualization algorithms
Unstructured Grids at Sandia National Labs
University of Technology
Ray-Cast Rendering in VTK-m
Pass Microsoft Exam in First Attempt | Dumps4download.us
Distributed System Structures 16: Distributed Structures
Some remarks on Portals and Web Services
Computer Science I CSC 135.
Lock Ahead: Shared File Performance Improvements
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Lecture 1: Multi-tier Architecture Overview
Polly Baker Division Director: Data, Mining, and Visualization
NASPAC 2.0 Architecture January 27, 2010
WHY THE RULES ARE CHANGING FOR LARGE DATA VISUALIZATION AND ANALYSIS
Multithreaded Programming
Department of Intelligent Systems Engineering
Prof. Leonardo Mostarda University of Camerino
Reverse engineering through full system simulations
Hardware-less Testing for RAS Software
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
Overview of Workflows: Why Use Them?
In Situ Fusion Simulation Particle Data Reduction Through Binning
Presentation transcript:

VisIt Libsim Update DOE Computer Graphics Forum 2012 Brad Whitlock April 24, 2012 Brad Whitlock

Coupling of Simulations and VisIt Libsim is a library that simulations may use to let VisIt connect and access their data Simulation Libsim Front End Libsim Front End Runtime VisIt Source Filter Libsim is divided into front end and runtime library pieces to avoid large increases in the size of the simulation executable The front end library is a small, static, C library with mechanisms that let VisIt connect to the simulation Does not introduce C++ dependencies into simulation Simplifies automatic generation of other language bindings The runtime library loads when VisIt connects to the simulation Provides access to all of VisIt’s visualization and data analysis algorithms Lets one simulation executable benefit from newer VisIt server runtimes Adaptor Data Access Code Data

Libsim Update Custom UI for simulations Set cell/node origin and spatial extents in metadata Better support for ghost zones (I-blanking) Some support for static linking with VisIt runtime Libsim and VisIt can use simulation’s MPI communicator Integrating with codes from AWE and NASA Integrating with codes from CSCS CFD code on a Cray XE6 at 16K cores poof Blanked-out cells

Scaling the number of cores on Cray XE6 Time per iteration All MPI task had a 64x64x64 block to isocontour at 10 different thresholds Parallel I/O with MPI-IO Rendering without Ice-T # of cores File size (GB) GB/sec 2048 2.1 5.0 4096 4.2 4.8 8192 8.6 3.0 16384 19.3 2.56 The parallel IO part does not do any contouring. It simply does one iteration of the solver and dumps the data straight to disk. The file system is Lustre, 8Gb/s controllers IO timings are averages over 70-100 iterations. The machine was quite full. In-situ timing were done disabling Ice-T which did not scale well. This is why at 2048 cores, we don’t match the data of the next slide (also at 2048 cores), but with Ice-T The in-situ part was connecting the Cray to my desktop. Slide courtesy of Jean Favre

Benchmarking 10 isosurfaces at 2048 cores Time per iteration Each MPI task does 10 iso-contours + remote rendering Parallel I/O with MPI-IO # of cells / proc File size (GB) GB/sec 64x64x64 2.1 5.0 128x128x128 17.1 7.0 256x256x256 137 5.5 The parallel I/O part does not do any contouring. It simply does one iteration of the solver and dumps the data straight to disk. The file system is Lustre. All timings are averages over 70-100 iterations. The machine was quite full. The in-situ part was connecting the Cray to my desktop. Parallel I/O figures are the best I could do with the current hardware. The new scratch file is being installed at CSCS on May 9, 2012. Slide courtesy of Jean Favre

Work in Progress Changes to VisIt/Libsim allow in situ without VisIt client Additional functions in Libsim API to set up plots VisIt Client VisIt runtime Simulation output Libsim Front End Adaptor

VisIt Nek5000 Integration Initial linking of VisIt and the Nek5000 code Works in serial and parallel Formal adoption of changes into Nek5000 planned soon Image courtesy of Hank Childs and David Camp, Lawrence Berkeley National Laboratory

Sequoia Will Drive Libsim Improvements Sequoia is being built right now at LLNL ASC codes are seeking to run at 100K’s of cores Increased role for in situ Alternate libsim implementation Reuse libsim front end and adaptor lightweight plotting back end, maybe custom to the simulation Static linking VisIt runtime Simulation Libsim Front End Adaptor Statically linked Dynamically loaded output Sequoia is driving our code teams to reduce communication and make structures more distributed. This has some consequences for VisIt since VisIt must then use the distributed structures (e.g. domain connectivity) At highest scales, I/O will dog performance so code teams more interested in using in situ. Our in situ approach will likely be too heavyweight at highest scales due to memory use, etc. Fortunately, libsim is small and we could conceivably replace back end with custom plotting routines geared towards the sim’s specific needs. Then, the custom plotting and libsim could be statically linked to the simulation. Since libsim’s API has no VTK, the custom plotting back end could be very lightweight and possibly not even based on VTK. Simulation Libsim Front End Adaptor Lightweight Plotting output Statically linked