Trilinos Software Engineering Technologies and Integration

Slides:



Advertisements
Similar presentations
CIS 376 Bruce R. Maxim UM-Dearborn
Advertisements

ARCS Data Analysis Software An overview of the ARCS software management plan Michael Aivazis California Institute of Technology ARCS Baseline Review March.
Chapter 13 Embedded Systems
© , Michael Aivazis DANSE Software Issues Michael Aivazis California Institute of Technology DANSE Software Workshop September 3-8, 2003.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Interpret Application Specifications
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Evaluation Code for Composite Joints in General Aviation Structures September 17, 2003 Rachael Andrulonis.
Introduction to Software Testing
FY07 ASC Vertical Integration Milestone Overview, Lessons Learned, and Next Steps Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation.
Data Structures and Programming.  John Edgar2.
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 Trilinos Software Engineering Technologies.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department.
SAP R/3 System: Client Server Overview (Buck-Emden & Galimow, 1998) Dr. K. Palaniappan.
Metadata Creation with the Earth System Modeling Framework Ryan O’Kuinghttons – NESII/CIRES/NOAA Kathy Saint – NESII/CSG July 22, 2014.
Trilinos Strategic (and Tactical) Planning Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
An Introduction to Software Architecture
PyTrilinos: A Python Interface to Trilinos Bill Spotz Sandia National Laboratories Reproducible Research in Computational Geophysics August 31, 2006.
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.
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
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):
 Chapter 13 – Dependability Engineering 1 Chapter 12 Dependability and Security Specification 1.
1 ModelEvaluator Scalable, Extendable Interface Between Embedded Nonlinear Analysis Algorithms and Applications Roscoe A. Bartlett Department of Optimization.
Components for Beam Dynamics Douglas R. Dechow, Tech-X Lois Curfman McInnes, ANL Boyana Norris, ANL With thanks to the Common Component Architecture (CCA)
An Introduction to Software Engineering. Communication Systems.
Solvers Made Easy (to use and use together) Thyra, Stratimikos, Handles and More... Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation.
Amesos Sparse Direct Solver Package Tim Davis, Mike Heroux, Rob Hoekstra, Marzio Sala, Ken Stanley, Heidi Thornquist, Jim Willenbring Trilinos Users Group.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
Thyra from a Developer's Perspective Roscoe A. Bartlett Department 1411: Optimization and Uncertainty Estimation Sandia National Laboratories Sandia is.
1 Stratimikos Unified Wrapper to Trilinos Linear Solvers and Preconditioners Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Sandia.
Teuchos: Utilities for Developers & Users November 2nd, 3:30-4:30pm Roscoe Bartlett Mike Heroux Kris Kampshoff Kevin Long Paul Sexton Heidi.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
Connections to Other Packages The Cactus Team Albert Einstein Institute
Thyra For Developers Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Sandia National Laboratories Trilinos Users Group Meeting (Developers.
Trilinos Strategic (and Tactical) Planning Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United.
Daily Integration and Testing of the Development Versions of Applications and Trilinos A stronger foundation for enhanced collaboration in application.
Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program laboratory.
Page 1 Open-Source Software for Interfacing and Support of Large-scale Embedded Nonlinear Optimization Roscoe A. Bartlett
Genie Pal A Versatile Intelligent Assistant To Help Both Work And Personal life.
DOE/Office of Science/ASCR (Sandia National Laboratories)
C Software Life-cycle and Integration Issues for CS&E R&D Software and Experiences from Trilinos (Part I) Roscoe A. Bartlett
Information Systems Development
DELLSOFT Technologies Pvt. Ltd.
Software Life Cycle Models
Cloud Computing By P.Mahesh
CO6025 Advanced Programming
Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation
ModelEvaluator Scalable, Extendable Interface Between Embedded Nonlinear Analysis Algorithms and Applications Roscoe A. Bartlett Department of Optimization.
ARTIFICIAL INTELLIGENCE IN SOFTWARE TESTING
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Introduction to Software Testing
Ada – 1983 History’s largest design effort
Chapter 2: The Linux System Part 1
GENERAL VIEW OF KRATOS MULTIPHYSICS
Purge-it! USP's, pre-sales process & helping the customer to decide
What's New in eCognition 9
Software testing and configuration : Embedded software testing
Software Engineering with Reusable Components
An Introduction to Software Architecture
Software Engineering Practice: A Generic View
Presented By: Darlene Banta
Embedded Nonlinear Analysis Tools Capability Area
Self-Managed Systems: an Architectural Challenge
What's New in eCognition 9
Presentation transcript:

Trilinos Software Engineering Technologies and Integration 2008-7718P Numerical Algorithm Interoperability and Vertical Integration Abstract Numerical Algorithms (ANAs) Thyra (Interoperability and vertical integration of ANAs) Epetra (Interoperability of element-based numerical algorithms) General Software Interoperability and Integration Memory management (Teuchos::RCP, ...) User input and configuration control (Teuchos::ParameterList, ...) User introspection (Teuchos::FancyOStream, ...) Skin packages (wrappers for other languages) PyTrilinos ForTrilinos General Software Quality and Design Lean/Agile Software Engineering Principles and Practices Internal Trilinos issues External customer issues Page 1

Trilinos Strategic Goals Scalable Computations: As problem size and processor counts increase, the cost of the computation will remain nearly fixed.   Hardened Computations: Never fail unless problem essentially intractable, in which case we diagnose and inform the user why the problem fails and provide a reliable measure of error. Full Vertical Coverage: Provide leading edge enabling technologies through the entire technical application software stack: from problem construction, solution, analysis and optimization. Grand Universal Interoperability: All Trilinos packages will be interoperable, so that any combination of solver packages that makes sense algorithmically will be possible within Trilinos.  Universal Accessibility: All Trilinos capabilities will be available to users of major computing environments: C++, Fortran, Python and the Web, and from the desktop to the latest scalable systems. Universal Solver RAS: Trilinos will be: Reliable: Leading edge hardened, scalable solutions for each of these applications Available: Integrated into every major application at Sandia Serviceable: Easy to maintain and upgrade within the application environment. Algorithmic Goals Thyra is being developed to address this issue Software Goals Courtesy of Mike Heroux, Trilinos Project Leader Page 2

Algorithm Vertical Integration for Embedded Algorithms Example: Numerous interactions exist between layers of abstract numerical algorithms (ANAs) in a transient optimization problem Nonlinear Optimizer MOOCHO, ??? What is needed to solve problem? Standard interfaces to break O(N2) 1-to-1 couplings Transient Solver Rythmos, SUNDIALS, ??? Linear Solver AztecOO, Amesos, Belos, ??? Nonlinear Solver NOX, PETSc, ??? Thyra is being developed to address interoperability of ANAs by defining interfaces for: Linear operators/vectors Preconditioners / Linear solvers Nonlinear models Nonlinear solvers Transient solvers Operators and Vectors Epetra, Tpetra, PETSc, ??? Application Charon, Aria, ??? Key Points Higher level algorithms, like optimization, require a lot of interoperability Interoperability and vertical integration must be “easy” or these configurations will not be achieved in practice Page 3

General Software Interoperability and Integration Memory management Replace all raw C++ pointers in all higher level C++ code Single objects: Teuchos::RCP, Teuchos::Ptr, Arrays of objects: Teuchos::Array, Teuchos::ArrayRCP, Teuchos::ArrayView, ... User input and configuration control Teuchos::ParameterList: General parameter database Self documenting Validation support XML input and output Teuchos::ParameterListAcceptor: Standard interface & protocal for handling ParameterList User introspection Teuchos::FancyOStream Formatted nested output Teuchos::Describable Flexible output of the state of an object Teuchos::VerboseObject Output showing dynamic behavior of an object Teuchos::TimeMonitor Targeted timing of critical computations and performance monitoring Page 4

Lean/Agile Software Engineering Principles and Practices Internal Trilinos development tools principles and practices Scalability and robustness of build system and test tools Continuous integration development principles and practices Release process principles and practices Integration with customer application codes Coordination of co-development with customer application codes (i.e. daily integration and asynchronous continuous integration) Coordination of release schedules with customer application codes Page 5

Trilinos Software Engineering Capabilities Area Webpage http://trilinos.sandia.gov/capability_areas.html Page 6