Interoperable Tools for Advanced Petascale Simulations (ITAPS) ComPASS Meeting Update December 3, 2008 LLNL-PRES-407129.

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

Parameterizing a Geometry using the COMSOL Moving Mesh Feature
Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
1 Coven a Framework for High Performance Problem Solving Environments Nathan A. DeBardeleben Walter B. Ligon III Sourabh Pandit Dan C. Stanzione Jr. Parallel.
CAD Import, Partitioning & Meshing J.Cugnoni LMAF / EPFL 2009.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
CISC October Goals for today: Foster’s parallel algorithm design –Partitioning –Task dependency graph Granularity Concurrency Collective communication.
Technical Architectures
Thermo-fluid Analysis of Helium cooling solutions for the HCCB TBM Presented By: Manmeet Narula Alice Ying, Manmeet Narula, Ryan Hunt and M. Abdou ITER.
Software Version Control SubVersion software version control system WebSVN graphical interface o View version history logs o Browse directory structure.
CSE351/ IT351 Modeling And Simulation Choosing a Mesh Model Dr. Jim Holten.
CSE351/ IT351 Modeling and Simulation
Parallel Decomposition-based Contact Response Fehmi Cirak California Institute of Technology.
Neutron Wall Loading Profile Using CAD/MCNP Interface and (progress report) Mengkuo Wang ARIES Meeting June 16-17, 2004 University of Wisconsin - Madison.
Steady Aeroelastic Computations to Predict the Flying Shape of Sails Sriram Antony Jameson Dept. of Aeronautics and Astronautics Stanford University First.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Introduction to Boolean Operations on Free-form Solids CS284, Fall 2004 Seung Wook Kim.
1 CSC 1401 S1 Computer Programming I Hamid Harroud School of Science and Engineering, Akhawayn University
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
APPLICATION: The first real application of the CAD-MCNP coupling approach is to calculate the neutron wall loading distribution (Γ) in the Z and toroidal.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Design Synopsys System Verilog API Donations to Accellera João Geada.
Introduction to virtual engineering László Horváth Budapest Tech John von Neumann Faculty of Informatics Institute of Intelligent Engineering.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
1 ATPESC 2014 Vijay Mahadevan Tutorial Session for Scalable Interfaces for Geometry and Mesh based Applications (SIGMA) FASTMath SciDAC Institute.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
CompuCell Software Current capabilities and Research Plan Rajiv Chaturvedi Jesús A. Izaguirre With Patrick M. Virtue.
Interoperable Tools for Advanced Petascale Simulations (ITAPS) TUTORIAL June 29, 2007.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
 A.C. Bauer, M.S. Shephard, E. Seol and J. Wan,   Scientific Computation Research Center  Rensselaer Polytechnic Institute,
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
Interoperable Geometry and Mesh Components for SciDAC ApplicationsTerascaleSimulation Tools and Technologies The TSTT Interfaces TSTTB: “Base” Tags Error.
Strategic Goals: To align the many efforts at Sandia involved in developing software for the modeling and simulation of physical systems (mostly PDEs):
Nick Draper 05/11/2008 Mantid Manipulation and Analysis Toolkit for ISIS data.
Virtual Cell and CellML The Virtual Cell Group Center for Cell Analysis and Modeling University of Connecticut Health Center Farmington, CT – USA.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
Terascale Simulation Tools and Technology Center TSTT brings together existing mesh expertise from Labs and universities. State of the art: many high-quality.
TerascaleSimulation Tools and Technologies The TSTT Interface Definition Effort Lori Freitag Diachin Lawrence Livermore National Lab.
Visual Computing Geometric Modelling 1 INFO410 & INFO350 S2 2015
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
Interoperable Mesh Tools for Petascale Applications Lori Diachin, LLNL Representing the ITAPS Team.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Adaptive Meshing Control to Improve Petascale Compass Simulations Xiao-Juan Luo and Mark S Shephard Scientific Computation Research Center (SCOREC) Interoperable.
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
Distributed Components for Integrating Large- Scale High Performance Computing Applications Nanbor Wang, Roopa Pundaleeka and Johan Carlsson
Connections to Other Packages The Cactus Team Albert Einstein Institute
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Progress on Component-Based Subsurface Simulation I: Smooth Particle Hydrodynamics Bruce Palmer Pacific Northwest National Laboratory Richland, WA.
Outline Introduction Research Project Findings / Results
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Presented by Adaptive Hybrid Mesh Refinement for Multiphysics Applications Ahmed Khamayseh and Valmor de Almeida Computer Science and Mathematics Division.
Ulrich Heck, DHCAE-Tools UG ___________________________ CAD geometry based pre-processing for CFD using abstract modeling techniques CastNet: CAD-based.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
3/12/2013Computer Engg, IIT(BHU)1 MPI-1. MESSAGE PASSING INTERFACE A message passing library specification Extended message-passing model Not a language.
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
April 24, 2002 Parallel Port Example. April 24, 2002 Introduction The objective of this lecture is to go over a simple problem that illustrates the use.
CAD Import Partitioning & Meshing
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Examples (D. Schmidt et al)
Software Metrics 1.
Scalable Interfaces for Geometry and Mesh based Applications (SIGMA)
Data Structures for Efficient and Integrated Simulation of Multi-Physics Processes in Complex Geometries A.Smirnov MulPhys LLC github/mulphys
Paul P.H. Wilson UW-Madison Fusion Technology Institute
Parallel Unstructured Mesh Infrastructure
Parallel Programming By J. H. Wang May 2, 2017.
In-situ Visualization using VisIt
Construction of Parallel Adaptive Simulation Loops
GENERAL VIEW OF KRATOS MULTIPHYSICS
Presentation transcript:

Interoperable Tools for Advanced Petascale Simulations (ITAPS) ComPASS Meeting Update December 3, 2008 LLNL-PRES

2 Outline ITAPS data models & interfaces ITAPS services ANL/ITAPS activities & opportunities

3 ITAPS 3-Tier Approach Interfaces, Tools, Services MeshGeometryRelationsField Common Interfaces Component Tools Are unified by Petascale Integrated Tools Build on Mesh Improve Front tracking Mesh Adapt Interpolation Kernels Swapping Dynamic Services Geom/Mesh Services AMR Front tracking Shape Optimization Solution Adaptive Loop Solution Transfer Petascale Mesh Generation N N           P P P P P P P P P P P P   P P     Fusion Nuclear energy Groundwater Accelerator to… GRUMMPMOABFMDBNWGrid CGM Lasso

4 The ITAPS data model abstracts PDE-simulation data hierarchy Core Data Types –Geometric Data: provides a high level description of the boundaries of the computational domain; e.g., CAD, image, or mesh data (iGeom) –Mesh Data: provides the geometric and topological information associated with the discrete representation of the domain (iMesh) –Field Data: provides access to time dependent physics variables associated with application solution. These can be scalars, vectors, tensors, and associated with any mesh entity. (iField) Data Relation Managers (iRel) –Provides control of the relationships among the core data types –Resolves cross references between entities in different groups –Provides functionality that depends on multiple core data types

5 The ITAPS data model has four fundamental “types” Entity: fine-grained entities in interface (e.g., vertex, face, region) Entity Set: arbitrary collection of entities & other sets –Parent/child relations, for embedded graphs between sets Interface Instance: object on which interface functions are called and through which other data are obtained Tag: named datum annotated to Entities and Entity Sets

6 The iMeshP parallel interface defines a partition model Process: a program executing; MPI process –# of processes == MPI_Comm_size –Process number == MPI_Comm_rank iMesh instance: mesh database provided by an implementation –One or more instances per process Partition: describes a parallel mesh –Maps entities to subsets called parts –Maps parts to processes –Has a communicator associated with it

7 The Partition Model Ownership: right to modify an entity Internal entity: Owned entity not on an interpart boundary. –E.g., all triangles w/ same color as iMesh label for part Part-Boundary entity: Entity on an interpart boundary –E.g., bold edges –Shared between parts (owner indicated by color; other parts have copies). Ghost entity: Non-owned, non-part- boundary entity in a part –E.g., triangles whose color is different from iMesh label –Needed for adjacency and/or solution data Copies: ghost entities + non-owned part-boundary entities.

8 Basic and advanced functionalities are supported in the geometry interface Model loading and initiation Topological queries of entities and adjacencies Pointwise geometric shape interrogation Parametric coordinate systems Model topology modification Model construction (primitives, booleans, transforms, etc.)

9 Relating mesh and geometry data is critical for advanced ITAPS services Required for e.g., adaptive loops, mesh quality improvement Mesh/Geometry Classification Interface –Manages the relationship between the high level geometric description and the mesh –Called by an application that knows about both Capabilities –For a given mesh entity, get the geometric entity against which it is classified –Establish a classification relationship between a mesh entity and a geometric entity

10 ITAPS Interfaces Designed for Interoperability iMesh (C)‏ implA.CC app1.f77app2.f90app3.CCapp4.c implB.cimplC.f77 Babel Server f77 client Python client Java client app1.f77 app2.py app3.java Interoperability across language, application, implementation Multiple call paths to the same implementation Efficiency preserved using direct, C-based interface

11 Simple Example: HELLO iMeshP #include "iMesh.h" #include "iMeshP.h" #include int main(int argc, char *argv[]) { char *options = NULL; iMesh_Instance mesh; iMeshP_PartitionHandle partition; int me, dim, num, ierr, options_len=0; iBase_EntitySetHandle root; /* create the Mesh instance */ iMesh_newMesh(options, &mesh, &ierr, options_len); iMesh_getRootSet(mesh, &root, &ierr); MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &me); /* Create the partition. */ iMeshP_createPartitionAll(mesh, MPI_COMM_WORLD, &partition, &ierr); /* load the mesh */ iMeshP_loadAll(mesh, partition, root, argv[1], options, &ierr, strlen(argv[1]), options_len); /* Report number of Parts in Partition */ iMeshP_getNumParts(mesh, partition, &num, &ierr); printf("%d Number of Parts = %d\n", me, num); Parallel Version: HELLO iMeshP 1) Instantiates Partition 2) Reads mesh into mesh instance and Partition 3) Reports # parts in Partition Revised 11/08

12 HELLO iMeshP Makefile CC = mpicc -g IMESH_DIR = /usr/local/itaps/FMDB_iMeshP include $(IMESH_DIR)/lib/iMesh-Defs.inc INCPATH += $(IMESH_INCLUDES) LIBS += $(IMESH_LIBS) hello_iMeshP: hello_iMeshP.c $(CC) $(INCPATH) -c hello_iMeshP.c $(CC) -o hello_iMeshP.o $(LIBS) Revised 11/08

13 ITAPS API's: Argument Handling Conventions ITAPS API's are C-like and can be called directly from C, Fortran, C++ Arguments pass by value (in) or reference (inout, out) –Fortran: use %VAL extension Memory allocation for lists done in application or implementation –If inout list comes in allocated, length must be long enough to store results of call –By definition, allocation/deallocation done using C malloc/free; application required to free memory returned by implementation –Fortran: Use “cray pointer” extension (equivalences to normal f77 array)‏ Handle types typedef'd to size_t (iBase_EntityHandle, iBase_EntitySetHandle, iBase_TagHandle, iMesh_Instance) Strings: char*, with length passed by value after all other args Enum's: values (iBase_SUCCESS, etc.) available for comparison operations, but passed as integer arguments –Fortran: named parameters

14 Argument Handling Conventions

15 Performance Large applications balance memory and cpu time performance Implementations of iMesh vary on speed vs. memory performance –Create, v-E, E-v query, square all-hex mesh –Entity- vs. Array-based access Compare iMesh (C, SIDL), Native (MOAB), Native Scd (MOAB), CUBIT –Ent-, Arr-based access –All-hexahedral square structured mesh Native Scd C Ent‏ CUBIT SIDL Ent SIDL Arr C Arr‏ Native Ent Native Arr C Ent‏ SIDL Ent C Arr Native Scd Native Ent Native Arr CUBIT

16 Performance in building a finite element stiffness matrix Set up a simple stiffness matrix for a 2D diffusion equation Examine costs of entity access via native data structures, arrays, entity iterators and workset iterators Arrays minimize time overhead but require a data copy Entity iterators are straightforward to program, minimize memory overhead, but maximize time cost Entity array iterators balance time/memory tradeoffs but are the most difficult to program  2 u = f u(x=0)=1 u(x=1) = 1 u y (x=0, x=1) = 0

17 Performance of iMesh Swap for 3D Meshes Comparing GRUMMP native implementation to service with GRUMMP iMesh implementation Most remaining overhead is in transcribing data to return format expected by iMesh

18 Performance of Zoltan Partitioning for 3D Meshes Comparing MOAB native implementation linking to Zoltan partitioning service with the MOAB iMesh implementation Using a coordinate bisection geometric partitioner on tetrahedral meshes and array-based access to the data

Omega3P, Sensitivity, Optimization p0p0 G(p 0 ) m(p 0 ) CUBIT Iteration 0: pkpk G(p k ) m0’m0’ Ddriv … Fixed mesh topology: Convergence No re-meshing Re-use factorization Ddriv Iteration 1..k: Ddriv Optimizing a cavity design is still mostly a manual process Future accelerators employ complex cavity shapes that require optimization to improve performance Geometry & meshing support: RIA ILC LCLS Shape Optimization for Accelerator Cavity Design

bl al a1 a2 b1 ar br b ra1 ra2 zcl zcr zcbzcc zcll Generate new geometric model G(p’) given a parameter vector p’ –MkILCCell function –DDRIV –CGM (iGeom) Associate old mesh m(p o ) to new geometry G(p’), project to CAD –DDRIV –CGM (iGeom) –MOAB (iMesh) –LASSO (iRel) Smooth mesh –… –Mesquite Smooth Curves Smooth Volume Smooth Surfaces New geom, old mesh Project to CAD, inverted elements Shape Optimization for Accelerator Cavity Design

21 Services Provided by DDRIV Parameterized geometric model construction –You write function which constructs model using iGeom –DDRIV acts as driver and handles IO Coordination of mesh smoothing on geometric model Re-classification of “old” mesh on “new” model Target matrix-based smoothing of re-classified mesh Computation of design velocities & embedding on mesh using iMesh Tags

22 Mesquite provides advanced mesh smoothing capabilities Mesquite is a comprehensive, stand-alone library for mesh quality improvement with the following capabilities –Shape Quality Improvement –Mesh Untangling –Alignment with Scalar or Vector Fields –R-type adaptivity to solution features or error estimates Maintain quality of deforming meshes Anisotropic smoothing Control skew on mesh boundaries Uses node point repositioning schemes

23 Our mesh quality improvement work has impacted many DOE applications Application: Plasma implosion using ALE methods Challenge: Maintain good mesh quality and biasing during deformation of plasma. Impact: Prior to use of Mesquite, this calculation could not be performed by Alegra due to ineffective mesh rezoning algorithm. Application: Burn of rocket propellants in a time-deforming domain Challenge: Maintain good tetrahedral element shape quality as domain deforms Impact: Condition number smoother (through ShapeImprovementWrapper) enabled many burn simulations at CSAR/UIUC. Application: Shape optimization for accelerator cavities to minimize losses Challenge: Rapidly and smoothly update the mesh to conform to trial geometries Impact: Used the deforming mesh metric to prototype geometry & mesh update model for potential use in SLAC accelerator design studies.

24 ITAPS has been integrated with VisIt as a database plug-in A single plug-in supports multiple ITAPS implementations Supports all entity types Supports subset and and tag data visualization Future integration will use VisIt’s in-situ ‘simulation’ interface –Will enable any ITAPS-compliant software to integrate with VisIt at run-time

25 VisIt can be used to display test data from multiple implementations Example of VisIt displaying test data from multiple ITAPS implementations simultaneously

Parallel Tetrahedral Mesh Generation Mesh volumes and surfaces in parallel Use graph partitioning to partition work Use of component-based mesh, geometry, partitioning 1 st -generation tool developed before ITAPS parallel interface specification Parallel communication handled at application-level Need production-capable tool Processor:

CAD-Based Monte Carlo Radiation Transport Facet-based Ray Tracing Most Monte Carlo codes use CSG-type geometry construction Replaced with high-fidelity CAD modeling –Use modern geom construction tools –Model more complex solids Previous CAD-based MC x slower than native –Facet-based Oriented Bounding Box (OBB) tree acceleration reduced slowdown to 2-5x Component-based approach simplifies introduction into multiple MC codes –Incorporated into ITS in < 1 week CGM/MOAB Ray-OBB intersection MCNPX/CGM CUBIT ITS/CGM ARIES Compact Stellerator AABB OBB level 1 level 2 level 3 OBB Tree

CAD-Based Monte Carlo Radiation Transport ITER Modeling & Code Comparison Effort equitorial port w/ tally spheres divertor toroidal field magnets TOP BOT TF Magnet Heating O/B I/B n Wall Loading n Source Joint US/FRG/PRC effort

29 MC-Based Neutron Transport for ITER Module 13 First Wall/Shield Design Heat deposition & cooling Helium generation close to weldable components CGM→MOAB → VTK → Visit

30 Solution Coupling Need to couple physics (TH, neutronics, structural mechanics) for reactor simulation –Need to preserve standalone development capability Assumptions: –Each physics solved on its own mesh, optimized for that physics –Each physics mesh distributed with its own distinct MPI communicator, independent of other mesh –On each processor, meshes for both/all physics stored in the same MOAB instance Coupling algorithm: –Initialization (read mesh, initialize searching structures (kdtree) ) –Point location –Interpolation –Normalization

31 Solution Coupling Results Implemented as tool in MOAB 12k hex, 130k tet Contrived data field Not implemented on iMesh –Tree-based search –Field interpolation

32 Solution Coupling Timing, Future Work Future work: –High-order (spectral) element interpolation –Subset-based normalization –Error norms –Timing, scalability

33 CGM Port to Open.Cascade CGM: provides common interface to geometry from multiple engines –ACIS –Catia/ProE (Sandia or weapons complex-restricted) –Facet-based geometry Smooths topological model variations Porting to open-source Open.Cascade modeler –Substantial improvements to OCC build process (autoconf-based) –Ready for (very) friendly external users ( Methods for getting OCC-based model –Read OCC BREP format –Read/translate IGES/Step format –Construct model using CSG approach Implemented reader for MCNP input file syntax Simple thing to do same for Superfish?

34 ABTR 1/6 Core Mesh Generation CUBIT-based approach required 6 GB for ~5M elements Different ways to generate mesh –Start with ass’y geometry + mesh, copy/move/merge in CUBIT –Start with ass’y mesh, copy/move/merge in external tool Development underway in MeshKit Need to handle sets carefully (material, geometric topology, BC’s) –Copy/merge sets –Start with cross section 2d mesh, extrude into 3d Will require extrude tool in MeshKit Need to handle sets carefully: copy/expand, but with extrusion

35 CAD interaction: CGM Mesh generation: GRUMMP, NWGrid Mesh databases: FMDB, MOAB Mesh improvement: Mesquite, swapping tools Parallel Adaptive loops: FMDB, NWGrid, MeshAdapt Front tracking: Frontier Partitioning: Zoltan The ITAPS team has developed tools to address these needs

36 Opportunities for Collaboration ANL/ITAPS received SAP funding for a post-doc starting in November, should have it filled by end of January Near-term opportunities –Incorporation of CAD into production shape optimization, curved boundary correction tools –Parallel meshing –Fast ray-tracing, EB meshing on complex CAD Longer-term opportunities –Common set of CAD-based cavity models –Direct comparison of results from different codes on common mesh-based representation –Data analysis & viz through common mesh interface –?