MOOCHO and TSFCore object-oriented software and interfaces for the development of optimization and other advanced abstract numerical algorithms Roscoe.

Slides:



Advertisements
Similar presentations
Zhen Lu CPACT University of Newcastle MDC Technology Reduced Hessian Sequential Quadratic Programming(SQP)
Advertisements

Modeling Electrical Systems With EMTP-RV
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
A Discrete Adjoint-Based Approach for Optimization Problems on 3D Unstructured Meshes Dimitri J. Mavriplis Department of Mechanical Engineering University.
1 Approved for unlimited release as SAND C Verification Practices for Code Development Teams Greg Weirs Computational Shock and Multiphysics.
Problem Uncertainty quantification (UQ) is an important scientific driver for pushing to the exascale, potentially enabling rigorous and accurate predictive.
1cs542g-term Notes  Assignment 1 will be out later today (look on the web)
Reference: Message Passing Fundamentals.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
MS17 A Case Study on the Vertical Integration of Trilinos Solver Algorithms with a Production Application Code Organizer: Roscoe A. Bartlett Sandia National.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department.
1 Hybrid methods for solving large-scale parameter estimation problems Carlos A. Quintero 1 Miguel Argáez 1 Hector Klie 2 Leticia Velázquez 1 Mary Wheeler.
1 A Domain Decomposition Analysis of a Nonlinear Magnetostatic Problem with 100 Million Degrees of Freedom H.KANAYAMA *, M.Ogino *, S.Sugimoto ** and J.Zhao.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department.
Page 1 Trilinos Software Engineering Technologies and Integration Numerical Algorithm Interoperability and Vertical Integration –Abstract Numerical Algorithms.
CCA Common Component Architecture Manoj Krishnan Pacific Northwest National Laboratory MCMD Programming and Implementation Issues.
1 Using the PETSc Parallel Software library in Developing MPP Software for Calculating Exact Cumulative Reaction Probabilities for Large Systems (M. Minkoff.
Fast Low-Frequency Impedance Extraction using a Volumetric 3D Integral Formulation A.MAFFUCCI, A. TAMBURRINO, S. VENTRE, F. VILLONE EURATOM/ENEA/CREATE.
Large-Scale Stability Analysis Algorithms Andy Salinger, Roger Pawlowski, Ed Wilkes Louis Romero, Rich Lehoucq, John Shadid Sandia National Labs Albuquerque,
Page 1 Embedded Sensitivities and Optimization From Research to Applications Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Sandia.
Strategic Goals: To align the many efforts at Sandia involved in developing software for the modeling and simulation of physical systems (mostly PDEs):
TSF and Abstract Interfaces in Trilinos TSFCore, TSFExtended … Roscoe A. Bartlett Department 9211: Optimization and Uncertainty Estimation Sandia National.
After step 2, processors know who owns the data in their assumed partitions— now the assumed partition defines the rendezvous points Scalable Conceptual.
1 ModelEvaluator Scalable, Extendable Interface Between Embedded Nonlinear Analysis Algorithms and Applications Roscoe A. Bartlett Department of Optimization.
Sensitivities and Optimization: Going Beyond the Forward Solve (to Enable More Predictive Simulations) Roscoe A. Bartlett Department of Optimization &
Efficient Integration of Large Stiff Systems of ODEs Using Exponential Integrators M. Tokman, M. Tokman, University of California, Merced 2 hrs 1.5 hrs.
Strategies for Solving Large-Scale Optimization Problems Judith Hill Sandia National Laboratories October 23, 2007 Modeling and High-Performance Computing.
Solvers Made Easy (to use and use together) Thyra, Stratimikos, Handles and More... Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation.
An Overview of the Thyra Interoperability Effort Current Status and Future Plans Roscoe A. Bartlett Department 1411: Optimization and Uncertainty Estimation.
1 SciDAC TOPS PETSc Work SciDAC TOPS Developers Satish Balay Chris Buschelman Matt Knepley Barry Smith.
Solution of a Partial Differential Equations using the Method of Lines
Computational Aspects of Multi-scale Modeling Ahmed Sameh, Ananth Grama Computing Research Institute Purdue University.
Danny Dunlavy, Andy Salinger Sandia National Laboratories Albuquerque, New Mexico, USA SIAM Parallel Processing February 23, 2006 SAND C Sandia.
Scalable Linear Algebra Capability Area Michael A. Heroux Sandia National Laboratories Sandia is a multiprogram laboratory operated by Sandia Corporation,
Thyra from a Developer's Perspective Roscoe A. Bartlett Department 1411: Optimization and Uncertainty Estimation Sandia National Laboratories Sandia is.
1 Chapter 5: Harmonic Analysis in Frequency and Time Domains Contributors: A. Medina, N. R. Watson, P. Ribeiro, and C. Hatziadoniu Organized by Task Force.
1 Stratimikos Unified Wrapper to Trilinos Linear Solvers and Preconditioners Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Sandia.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Teuchos: Utilities for Developers & Users November 2nd, 3:30-4:30pm Roscoe Bartlett Mike Heroux Kris Kampshoff Kevin Long Paul Sexton Heidi.
Domain Decomposition in High-Level Parallelizaton of PDE codes Xing Cai University of Oslo.
Fortress Aaron Becker Abhinav Bhatele Hassan Jafri 2 May 2006.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA
On the Use of Finite Difference Matrix-Vector Products in Newton-Krylov Solvers for Implicit Climate Dynamics with Spectral Elements ImpactObjectives 
Generic Compressed Matrix Insertion P ETER G OTTSCHLING – S MART S OFT /TUD D AG L INDBO – K UNGLIGA T EKNISKA H ÖGSKOLAN SmartSoft – TU Dresden
An Overview of TSFCore Roscoe A. Bartlett 9211, Optimization and Uncertainty Estimation Sandia is a multiprogram laboratory operated by Sandia Corporation,
Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program laboratory.
Chapter 2-OPTIMIZATION G.Anuradha. Contents Derivative-based Optimization –Descent Methods –The Method of Steepest Descent –Classical Newton’s Method.
Multifidelity Optimization Using Asynchronous Parallel Pattern Search and Space Mapping Techniques Genetha Gray*, Joe Castro i, Patty Hough*, and Tony.
Algebraic Solvers in FASTMath Argonne Training Program on Extreme-Scale Computing August 2015.
On the Performance of PC Clusters in Solving Partial Differential Equations Xing Cai Åsmund Ødegård Department of Informatics University of Oslo Norway.
Programming Massively Parallel Graphics Multiprocessors using CUDA Final Project Amirhassan Asgari Kamiabad
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
What’s New for Epetra Michael A. Heroux Sandia National Laboratories Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin.
Page 1 Open-Source Software for Interfacing and Support of Large-scale Embedded Nonlinear Optimization Roscoe A. Bartlett
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA Shirley Moore CPS5401 Fall 2013 svmoore.pbworks.com November 12, 2012.
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation,
Parallel Direct Methods for Sparse Linear Systems
ModelEvaluator Scalable, Extendable Interface Between Embedded Nonlinear Analysis Algorithms and Applications Roscoe A. Bartlett Department of Optimization.
HPC Modeling of the Power Grid
Trilinos Software Engineering Technologies and Integration
ENGG 1801 Engineering Computing
GENERAL VIEW OF KRATOS MULTIPHYSICS
Comparison of CFEM and DG methods
Embedded Nonlinear Analysis Tools Capability Area
Ph.D. Thesis Numerical Solution of PDEs and Their Object-oriented Parallel Implementations Xing Cai October 26, 1998.
Computer Animation Algorithms and Techniques
Presentation transcript:

MOOCHO and TSFCore object-oriented software and interfaces for the development of optimization and other advanced abstract numerical algorithms Roscoe A. Bartlett Optimization and Uncertainty Estimation Sandia National Laboratories Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC04-94AL85000.

Nonlinear Programming for Large-Scale Optimization Classes of problems considered: Large-scale (up to 10 6 variables and more) Special problem structure (e.g. PDEs, DAEs) Application specific methods (e.g. linear solvers, nonlinear globalization) Specialized computing environments (e.g. MPP, client/server, out-of-core) What we can not do: Use the current generation of optimization software to exploit problem structure and take advantage of advanced computing environments What we do not want to do: Write a new optimization implementation for each piece of application software What we do want to do: Use gradient-based methods for simultaneous analysis and design (SAND) NLP formulation for Simulation-Driven Optimization minf(y,u)f(y,u)  Y  U  R s.t.c(y,u) = 0c(y,u)  Y  U  C (y L, u L )  (y, u)  (y U, u U ) Y  R m, U  R n-m, C  R m y  Y : state variables u  U : design/control variables f(y,u) : objective function c(y,u) : state (simulation) constriants

NAND vs. SAND : Choosing the right approach NAND SAND Decreased impact to existing code Ease of interfacing Nonsmooth behavior Better scalability to large design spaces More accurate solutions Algorithmic flexibility Less computer time Nested Analysis and Design Simultaneous Analysis and Design

Introducing MOOCHO! MOOCHO : Multifunctional Object-Oriented arCHitecture for Optimization Built using object-oriented principles => OO! Initially developed at CMU (rSQP++) => Good times! Active-set and interior-point SQP-related methods => Fast! or Fast? Open source (available soon?) => You can get it! Flexible algorithm configuration => You can alter it! Exchangeable numerical components => You can tailor it! Abstract linear-algebra interfaces (AbstractLinAlgPack) => You can parallelize it!

Nonlinear Equations : Foundation for many Problems! Applications Discretized PDEs (e.g. finite element, finite volume, finite difference etc.) Network problems (e.g. electrical circuits)

Nonlinear Equations : Sensitivities Related Algorithms Gradient-based optimization SAND NAND Nonlinear equations (NLS) Multidisciplinary analysis Linear (matrix) analysis Block iterative solvers Eigenvalue problems Uncertainty quantification SFE Stability analysis / continuation Transients (ODEs, DAEs) B. van Bloemen Waanders, R. A. Bartlett, K. R. Long and P. T. Boggs. Large Scale Non-Linear Programming: PDE Applications and Dynamical Systems, Sandia National Laboratories, SAND , 2002

Applications, Algorithms, Linear-Algebra Software APP : Application: Defines data for the problem (e.g. PDE or DAE model and discretization) LAL : Linear-Algebra Library : Implements basic matrices, vector and algebraic precondtioners (e.g. Epetra/Ifpack (Trilinos), PETSc etc.) ANA : Abstract Numerical Algorithm : Solves the numerical problem (e.g. optimization, nonlinear solvers, stability analysis, SFE, transient solvers etc.) Key points Complex algorithms Complex software Complex interfaces Complex computers Duplication of effort?

MOOCHO and TSFCore Key points Maximizing development impact Software can be run on more sophisticated computers Fosters improved algorithm development TSFCore TSFCore::Nonlin MOOCHO AbstractLinAlgPack NLPInterfacePack

TSFCore : Basic Linear Algebra Interfaces LinearOps apply to Vectors An operator knows its domain and range spaces A linear operator is a kind of operator Unified Modeling Langage (UML) Notation! A Vector knows its VectorSpace > VectorSpaces create Vectors!

TSFCore : Basic Linear Algebra Interfaces > Near optimal for many but not all abstract numerical algorithms (ANAs) Compatible with: HCL (Hilbert Class Library) SVL (Standard Vector Library)

TSFCore : Basic Linear Algebra Interfaces A MulitVector is a linear operator! A MulitVector has a collection of column vectors! A MulitVector is a tall thin dense matrix > VectorSpaces create MultiVectors! LinearOps apply to MultiVectors

TSFCore : Basic Linear Algebra Interfaces > What about standard vector ops? Reductions (norm, dot etc.)? Transformations (axpy, scaling etc.)? What about specialized vector ops? e.g. Interior point methods for opt

TSFCore : Basic Linear Algebra Interfaces The Key to success! Reduction/Transformation Operators Supports all needed vector operations Data/parallel independence Optimal performance R. A. Bartlett, B. G. van Bloemen Waanders and M. A. Heroux. Vector Reduction/Transformation Operators, Accepted to ACM TOMS, 2003 Challenge to interoperability?

TSFCore : Basic Linear Algebra Interfaces VectorSpaces create Vectors and MultiVectors! MultiVector subviews can be created! Vector and MultiVector versions of apply(…)! Adjoints supported but are optional! Only one vector method!

TSFCore Details  All interfaces are templated on Scalar type (support real and complex)  Smart reference counted pointer class Teuchos::RefCountPtr<> used for all dynamic memory management · Many operations have default implementations based on very few pure virtual methods  RTOp operators (and wrapper functions) are provided for many common level- 1 vector and multi-vector operations  Default implementation provided for MultiVector ( MultiVectorCols )  Default implementations provided for serial computation: VectorSpace ( SerialVectorSpace ), VectorSpaceFactory ( SerialVectorSpaceFactory ), Vector ( SerialVector )

AbstractLinAlgPack : MOOCHO Linear Algebra

Example ANA : Linear Conjugate Gradient Solver

Multi-vector Conjugate-Gradient Solver : Single Iteration template void CGSolver ::doIteration( const LinearOp &M, ETransp opM_notrans,ETransp opM_trans, MultiVector *X, Scalar a,const LinearOp *M_tilde_inv,ETransp opM_tilde_inv_notrans, ETransp opM_tilde_inv_trans ) const { const Index m = currNumSystems_; int j; if( M_tilde_inv ) M_tilde_inv->apply( opM_tilde_inv_notrans, *R_, &*Z_ ); else assign( &*Z_, *R_ ); dot( *Z_, *R_, &rho_[0] ); if( currIteration_ == 1 ) { assign( &*P_, *Z_ ); } else { for(j=0;j<m;++j) beta_[j] = rho_[j]/rho_old_[j]; update( *Z_, &beta_[0], 1.0, &*P_ ); } M.apply( opM_notrans, *P_, &*Q_ ); dot( *P_, *Q_, &gamma_[0] ); for(j=0;j<m;++j) alpha_[j] = rho_[j]/gamma_[j]; update( &alpha_[0], +1.0, *P_, X ) update( &alpha_[0], -1.0, *Q_, &*R_ ); }

TSFCore::Nonlin : Interfaces to Nonlinear Problems Supported Areas NAND optimization SAND optimization Nonlinear equations Multidisciplinary analysis Stability analysis / continuation SFE Function evaluations: NonlinearProblem (nonsingular) State Jacobian evaluations : Auxiliary Jacobian evaluations : NonlinearProblemFirstOrder State variables Auxiliary variables State equations Response functions

TSFCore SAND Reports Get most recent copy at: Trilinos/doc/TSFCore

Summary & Conclusions MOOCHO MOOCHO is framework/library for large-scale NLP MOOCHO currently supports several active-set and interior-point SQP- related methods MOOCHO can be adapted to the application MOOCHO is fully scalable TSFCore Minimal but efficient interface to linear algebra implementations Trilinos (LGPL) standard for abstract interfaces for linear algebra –Block linear solvers (Belos) –Block eigenvalue solvers (Anasazi) Used in SPMD, client/server, master/slave etc. Example numerical algorithms: –NLP optimization (through MOOCHO) –Nonlinear equation solvers (through NOX) –Time domain decomposition (Heinkenshloss)