A Current Overview of the Trilinos Project

1606 days ago, 525 views
PowerPoint PPT Presentation

Presentation Transcript

Slide 1

A Current Overview of the Trilinos Project Jonathan Hu Tenth Copper Mountain Conference on Iterative Methods Monday, April 7 th , 2008 SAND#2008-2511 C Sandia is a multiprogram research facility worked by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy's National Nuclear Security Administration under contract DE-AC04-94AL85000.

Slide 2

This Evening's Talks Kevin Long (7:55pm) "Building parallel multi-material science reenactments with Sundance" Ross Bartlett (drop) "Stratimikos: Unified Access to Trilinos Linear Solver and Preconditioner Capabilities" Heidi Thornquist (8:20pm) "Belos: A Framework for Next-era Iterative Linear Solvers" Vicki Howle (8:45pm) "Physics-based preconditioners in Meros" Chris Siefert (9:10pm) "Recent Algorithmic (and Practical) Developments in ML"

Slide 3

Outline of Talk Background/Motivation/Evolution. (A few) capacities in Trilinos Core Discretization/Optimization Solvers Concluding comments.

Slide 4

Trilinos Development Team Chris Baker Developer of Anasazi, RBGen Ross Bartlett Lead Developer of Thyra and Stratimikos Developer of Rythmos Pavel Bochev Project Lead and Developer of Intrepid Paul Boggs Developer of Thyra Eric Boman Lead Developer of Isorropia Developer of Zoltan Todd Coffey Lead Developer of Rythmos David Day Developer of Komplex and Intrepid Karen Devine Lead Developer of Zoltan Clark Dohrmann Developer of CLAPS Michael Gee Developer of ML, NOX Bob Heaphy Lead Developer of Trilinos SQA Mike Heroux Trilinos Project Leader Lead Developer of Epetra, AztecOO, Kokkos, Komplex, IFPACK, Thyra, Tpetra Developer of Amesos, Belos, EpetraExt, Jpetra Ulrich Hetmaniuk Developer of Anasazi Robert Hoekstra Lead Developer of EpetraExt Developer of Epetra, Thyra, Tpetra Russell Hooper Developer of NOX Vicki Howle Lead Developer of Meros Developer of Belos and Thyra Jonathan Hu Developer of ML Sarah Knepper Developer of Komplex Tammy Kolda Lead Developer of NOX Joe Kotulski Lead Developer of Pliris Rich Lehoucq Developer of Anasazi and Belos Kevin Long Lead Developer of Thyra, Developer of Teuchos Roger Pawlowski Lead Developer of NOX Eric Phipps Developer of LOCA, NOX, and Sacado Denis Ridzal Lead Developer of Aristos and Intrepid Marzio Sala Lead Developer of Didasko and IFPACK Developer of ML, Amesos Andrew Salinger Lead Developer of LOCA Paul Sexton Developer of Epetra and Tpetra Bill Spotz Lead Developer of PyTrilinos Developer of Epetra, New_Package Ken Stanley Lead Developer of Amesos and New_Package Heidi Thornquist Lead Developer of Anasazi, Belos, RBGen, and Teuchos Ray Tuminaro Lead Developer of ML and Meros Jim Willenbring Developer of Epetra and New_Package. Trilinos library director Alan Williams Lead Developer of Isorropia Developer of Epetra, EpetraExt, AztecOO, Tpetra

Slide 5

Sandia Physics Simulation Codes Element-based Finite component, limited volume, limited contrast, arrange, and so on… Large-scale Billions of questions Parallel MPI-based SPMD Distributed memory C++ Object situated Some coupling to legacy Fortran libraries Fluids Combustion MEMS Circuits Structures Plasmas

Slide 6

material science L(u)=f Math. demonstrate strategies discretizations Time area space Automatic diff. Space dec. Mortar techniques Numerical math Convert to models that can be fathomed on advanced PCs L h (u h )=f h Numerical model solvers center Algorithms Find speedier and more proficient approaches to illuminate numerical models Linear Nonlinear Eigenvalues Optimization Petra Utilities Interfaces Load Balancing u h =L h - 1  f h Algorithms calculation Evolving Trilinos Solution Beyond a "solvers" system Natural development of capacities to fulfill application and research needs Discretization strategies, AD, Mortar strategies, …

Slide 7

Trilinos Capabilities

Slide 8

Trilinos Framework Trilinos 1 gives a coordination of endeavors: Leverages Sandia's exploration in solvers, discretizations, improvement, diagram calculations Fundamental nuclear unit is a bundle (e.g., AztecOO, Zoltan) Includes center arrangement of vector, chart and network classes. Gives basic conceptual solver API. Gives instant bundle framework to join new bundles: Source code administration (cvs, bonsai). Assemble instruments (autotools). Mechanized relapse testing (line registries inside vault). Specialized devices (postal worker mail records). Determines necessities and proposed hones for bundle SQA. When all is said in done permits us to arrange endeavors: Efforts best done at the Trilinos level (helpful to most or all bundles). Endeavors best done at a bundle level (impossible to miss or vital to a bundle). Permits bundle designers to concentrate just on things that are one of a kind to their bundle. 1. Trilinos free interpretation: "A pearl necklace"

Slide 9

Trilinos Package Concept Library of regular math calculations created by little group of specialists Package interoperability Minimal unequivocal conditions Enabled through design Accepts client information in Epetra or Thyra arrange Accepts runtime choices by means of Teuchos parameter records Uses Epetra for privata information Can utilize/can be utilized by Thyra unique solver interfaces Python interfaces (PyTrilinos) Package independence Can be assembled autonomously of Trilinos. Has possess independent CVS structure. Has claim Bugzilla item and mail records. Allowed to choose possess calculations, coding style, discharge substance, testing process, and so on. Trilinos is not "solid": You needn't bother with all of Trilinos to complete things. Any gathering of bundles can be consolidated and disseminated. Current open discharge contains just 26 of the 30+ Trilinos bundles. Discretionary, however as bundle develops, a greater amount of these have a tendency to be fulfilled

Slide 10

Whirlwind Tour of Packages Core Discretizations & Methods Solvers

Slide 11

Petra: Common Linear Algebra Foundation Provides conveyed straight variable based math objects (administrator, lattice, vector) Three executions Epetra – c urrent generation form. Genuine, twofold accuracy Stable center subset of C++ (around 2000). C and Fortran interfaces Tpetra – templated scalar & ordinal fields, STL Jpetra – Java, convenient to any JVM, interfaces to Java forms of MPI, BLAS, LAPACK Developers: Mike Heroux, Rob Hoekstra, Alan Williams, Paul Sexton

Slide 12

Teuchos Portable utility bundle of normally helpful devices: ParameterList class: key/esteem match database, recursive abilities. LAPACK, BLAS wrappers (templated on ordinal and scalar sort). Thick lattice and vector classes (perfect with BLAS/LAPACK). Slump counters, clocks. Ordinal, Scalar Traits bolster: Definition of 'zero', 'one', and so on. Reference tallied pointers/clusters, and the sky is the limit from there… Takes favorable position of cutting edge components of C++: Templates Standard Template Library (STL) Teuchos::ParameterList: Allows simple control of solver parameters. XML design input/yield. Designers: Roscoe Barlett, Kevin Long, Heidi Thornquist, Mike Heroux, Paul Sexton, Kris Kampshoff, Chris Baker

Slide 13

Thyra High-execution, theoretical interfaces for straight polynomial math Offers adaptability through reflections to calculation engineers Linear solvers (Direct, Iterative, Preconditioners) Abstraction of fundamental vector/grid operations (speck, axpy, mv). Can utilize any solid direct variable based math library (Epetra, PETSc, BLAS). Nonlinear solvers (Newton, and so on.) Abstraction of straight unravel (fathom Ax=b ). Can utilize any solid straight solver library: AztecOO, Belos, ML, PETSc, LAPACK Transient/DAE solvers (understood) Abstraction of nonlinear understand. … etc. Engineers: Roscoe Bartlett, Kevin Long

Slide 14

Zoltan Data Services for Dynamic Applications Dynamic load adjusting Graph shading Data relocation Matrix requesting Partitioners: Geometric (facilitate based) strategies: Recursive Coordinate Bisection (Berger, Bokhari) Recursive Inertial Bisection (Taylor, Nour-Omid) Space Filling Curves (Peano, Hilbert) Refinement-tree Partitioning (Mitchell) Hypergraph and diagram (network based) techniques: Hypergraph Repartitioning PaToH (Catalyurek) Zoltan Hypergraph Partitioning ParMETIS (U. Minnesota) Jostle (U. Greenwich) Developers: Karen Devine, Eric Boman, Robert Heaphy

Slide 15

Whirlwind Tour of Packages Core Discretizations & Methods Solvers

Slide 16

 k Forms Reduction {C 0 ,C 1 ,C 2 ,C 3 } Discrete structures General cells Higher request d,d*, , ,(,) Operations Cell Data D , D *, W , M Discrete operations. Remaking Pullback: FEM Direct: FV/D Intrepid Interoperable Tools for Rapid Development of Compatible Discretizations Intrepid offers a creative programming outline for good discretizations: permits access to FEM, FV and FD techniques utilizing a typical API underpins half breed discretizations (FEM, FV and FD) on unstructured frameworks bolsters an assortment of cell shapes: standard shapes (e.g. tets, hexes): high-arrange limited component strategies subjective (polyhedral) shapes: low-arrange mimetic limited contrast techniques empowers advancement, blunder estimation, V&V, and UQ utilizing quick intrusive systems (coordinate support for cell-based subordinate calculations or through programmed separation) Developers: Pavel Bochev and Denis Ridzal

Slide 17

Sacado: Automatic Differentiation Efficient OO based AD apparatuses streamlined for component level calculations Applies AD at "component"- level calculation "Component" implies limited component, limited volume, organize gadget,… Template application's component calculation code Developers just need to keep up one templated code base Provides three types of AD Forward Mode: Propagate subsidiaries of transitional factors w.r.t. free factors forward Directional subordinates, digression vectors, square Jacobians, when m ≥ n . Turn around Mode: Propagate subsidiaries of ward factors w.r.t. middle of the road factors in reverse Gradients, Jacobian-transpose item