1 TOPS Solver Components Language-independent software components for the scalable solution of large linear and nonlinear algebraic systems arising from.

Slides:



Advertisements
Similar presentations
Earth System Curator Spanning the Gap Between Models and Datasets.
Advertisements

U.S. Department of Energy’s Office of Science Basic Energy Sciences Advisory Committee Dr. Daniel A. Hitchcock October 21, 2003
Current Progress on the CCA Groundwater Modeling Framework Bruce Palmer, Yilin Fang, Vidhya Gurumoorthi, Computational Sciences and Mathematics Division.
CCA Common Component Architecture CCA Forum Tutorial Working Group A Look at More Complex.
Parallelizing stencil computations Based on slides from David Culler, Jim Demmel, Bob Lucas, Horst Simon, Kathy Yelick, et al., UCB CS267.
MA5233: Computational Mathematics
A Brief Introduction to the CSDMS Initiative Dr. Scott Peckham Chief Software Architect for CSDMS October 26, 2007 csdms.colorado.edu CUAHSI Fall 2007.
Center for Component Technology for Terascale Simulation Software (aka Common Component Architecture) (aka CCA) Rob Armstrong & the CCA Working Group Sandia.
Center for Component Technology for Terascale Simulation Software 122 June 2002Workshop on Performance Optimization via High Level Languages and Libraries.
CCA Forum Fall Meeting October CCA Common Component Architecture Update on TASCS Component Technology Initiatives CCA Fall Meeting October.
GLAST Science Support CenterAugust 9, 2004 Implementation of the Standard Analysis Environment (SAE) James Peachey (HEASARC/GLAST SSC—GSFC/L3)
High-Performance Component- Based Scientific Software Engineering Boyana Norris Argonne National Laboratory CSDMS Meeting:
Role of Deputy Director for Code Architecture and Strategy for Integration of Advanced Computing R&D Andrew Siegel FSP Deputy Director for Code Architecture.
LLNL-PRES-XXXXXX This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344.
A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University.
SciDAC Software Introduction Osni Marques Lawrence Berkeley National Laboratory DOE Workshop for Industry Software Developers March 31,
Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado.
CCA Common Component Architecture CCA Forum Tutorial Working Group Welcome to the Common.
2005 Materials Computation Center External Board Meeting The Materials Computation Center Duane D. Johnson and Richard M. Martin (PIs) Funded by NSF DMR.
CCA Common Component Architecture CCA Forum Tutorial Working Group Welcome to the Common.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
Plans and Opportunities Involving Beam Dynamics Components ComPASS SAP Project and Phase I and II Doe SBIR Boyana Norris (ANL) In collaboration with Stefan.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
Components for Beam Dynamics Douglas R. Dechow, Tech-X Lois Curfman McInnes, ANL Boyana Norris, ANL With thanks to the Common Component Architecture (CCA)
High Energy and Nuclear Physics Collaborations and Links Stu Loken Berkeley Lab HENP Field Representative.
Building an Electron Cloud Simulation using Bocca, Synergia2, TxPhysics and Tau Performance Tools Phase I Doe SBIR Stefan Muszala, PI DOE Grant No DE-FG02-08ER85152.
SAP Participants: Douglas Dechow, Tech-X Corporation Lois Curfman McInnes, Boyana Norris, ANL Physics Collaborators: James Amundson, Panagiotis Spentzouris,
August 2003 At A Glance VMOC-CE is an application framework that facilitates real- time, remote cooperative work among geographically dispersed mission.
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
SCIRun and SPA integration status Steven G. Parker Ayla Khan Oscar Barney.
CCA Common Component Architecture 1SciDAC PI Meeting22-24 March 20041SciDAC PI Meeting22-24 March 2004 Enabling Scientific Applications with the Common.
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
Pascucci-1 Valerio Pascucci Director, CEDMAV Professor, SCI Institute & School of Computing Laboratory Fellow, PNNL Massive Data Management, Analysis,
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
Computational Aspects of Multi-scale Modeling Ahmed Sameh, Ananth Grama Computing Research Institute Purdue University.
Presented by Scientific Data Management Center Nagiza F. Samatova Network and Cluster Computing Computer Sciences and Mathematics Division.
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
Scalable Systems Software for Terascale Computer Centers Coordinator: Al Geist Participating Organizations ORNL ANL LBNL.
CCA Common Component Architecture CCA Forum Tutorial Working Group A Look at More Complex.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
1 HPC Middleware on GRID … as a material for discussion of WG5 GeoFEM/RIST August 2nd, 2001, ACES/GEM at MHPCC Kihei, Maui, Hawaii.
VAPoR: A Discovery Environment for Terascale Scientific Data Sets Alan Norton & John Clyne National Center for Atmospheric Research Scientific Computing.
MESQUITE: Mesh Optimization Toolkit Brian Miller, LLNL
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
1 COMPUTER SCIENCE DEPARTMENT COLORADO STATE UNIVERSITY 1/9/2008 SAXS Software.
Computational Science & Engineering meeting national needs Steven F. Ashby SIAG-CSE Chair March 24, 2003.
Connections to Other Packages The Cactus Team Albert Einstein Institute
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
1 1 Office of Science Jean-Luc Vay Accelerator Technology & Applied Physics Division Lawrence Berkeley National Laboratory HEP Software Foundation Workshop,
J. Ray, S. Lefantzi and H. Najm Sandia National Labs, Livermore Using The Common Component Architecture to Design Simulation Codes.
Getting Started with SIDL using the ANL SIDL Environment (ASE) ANL SIDL Team MCS Division, ANL April 2003 The ANL SIDL compilers are based on the Scientific.
CCA Common Component Architecture Insights from Quantum Chemistry Joseph P. Kenny Scalable Computing Research and Design Sandia National Laboratories Livermore,
ComPASS Summary, Budgets & Discussion Panagiotis Spentzouris, Fermilab ComPASS PI.
CCA Common Component Architecture Distributed Array Component based on Global Arrays Manoj Krishnan, Jarek Nieplocha High Performance Computing Group Pacific.
WASP Airborne Data Processor Laboratory for Imaging Algorithms and Systems Chester F. Carlson Center for Imaging Science Rochester Institute of Technology.
SAN DIEGO SUPERCOMPUTER CENTER at the UNIVERSITY OF CALIFORNIA, SAN DIEGO Advanced User Support for MPCUGLES code at University of Minnesota October 09,
Algebraic Solvers in FASTMath Argonne Training Program on Extreme-Scale Computing August 2015.
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN CCA Status, Code Walkthroughs, and Demonstrations.
Center for Component Technology for Terascale Simulation Software (CCTTSS) 110 April 2002CCA Forum, Townsend, TN This work has been sponsored by the Mathematics,
Quality of Service for Numerical Components Lori Freitag Diachin, Paul Hovland, Kate Keahey, Lois McInnes, Boyana Norris, Padma Raghavan.
Performance-Driven Interface Contract Enforcement for Scientific Components 10th International Symposium on Component-Based Software Engineering Medford,
Simbios Simbios ™ The National Center for Physics-Based Simulation of Biological Structures at Stanford SimTK Framework CCA for Physics Based Simulation.
VisIt Project Overview
Programming Models for SimMillennium
GENERAL VIEW OF KRATOS MULTIPHYSICS
Enterprise Program Management Office
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

1 TOPS Solver Components Language-independent software components for the scalable solution of large linear and nonlinear algebraic systems arising from either structured or unstructured meshes –Solve Ax=b –Solve f(u)=0, where f:R R Compliant with the Common Component Architecture (CCA) –Interfaces use SIDL (Scientific Interface Definition Language) and the Babel (LLNL) language interoperability tool –Common interfaces to facilitate easy experimentation with different solvers developed by different institutions Developed by the TOPS and CCTTSS (CCA) SciDAC projects n CCA Common Component Architecture

2 Using TOPS Solver Components The application developer constructs a CCA component that implements the TOPS.System interfaces. This component defines the algebraic system to be solved. (See Appendix.)TOPS.System The solver and the TOPS.System component can be combined using one of: –a traditional programming languagetraditional programming language –a component scripting languagecomponent scripting language –a component GUI such as provided by the Ccaffeine framework (SNL) … see examples in following slidesCcaffeine The solver and TOPS.System component then collaborate to solve one or more algebraic problems. Complex applications will likely also couple several additional CCA components.

3 TOPS Linear Solver Components The application provides ports for –Initializing the linear system –Computing the coefficient matrix, A –Computing the right-hand-side vector, b The application uses a TOPS solver port This wiring diagram using the GUI within the Ccaffeine framework (SNL) depicts solving a linear system arising from a structured mesh problem. The BoomerAMG solver within hypre (LLNL) is employed. The large black boxes represent components. The small light blue boxes denote provides ports (functionality provided for use by another component); the small gold boxes denote uses ports (functionality needed from another component);

4 Facilitating Experimentation Direct Krylov Accelerators Iterative SparseBiconjugate gradientBoomerAMG (hypre) SuperLUBi-cg-stabML (Trilinos) Spooles ChebychevEuclid (hypre) MUMPSConjugate gradientPilut (hypre) UMFPACKConjugate residual Prometheus DSCPACKFlexible GMRESParasails (hypre) DenseGMRESSPAI PLAPACK LSQRPETSc MinresMultigrid SYMMLQ Transpose-free QMR TOPS solvers enable applications scientists to easily experiment with vast numbers of linear solvers without needing to make premature choices about data structures and algorithms. [Link to on-line demo]

5 TOPS Nonlinear Solver Components The TOPS design makes the transition from linear to nonlinear problems straightforward. The application provides ports for –Initializing the nonlinear system –Computing the residual vector, f(u) –Computing the associated Jacobian matrix, f’(u) (optional) The application uses a TOPS solver port This wiring diagram depicts solving a nonlinear system arising from a structured mesh problem using a Newton-based nonlinear solver in PETSc (ANL).

6 Auxiliary TOPS Tools TOPS Software Installer: Can download and install a large variety of solver packages.TOPS Software Installer: –Eases the difficulties of manual installation of the various underlying toolkits –Ensures that the toolkits are all built with the same compilers and compiler options TOPS Component Generator: Can generate the SIDL for your problem and all the boilerplate code needed to use it as a CCA componentTOPS Component Generator: –Essentially, applications simply need to provide source code for the methods that define an algebraic linear or nonlinear problem. (See Appendix for more details.)

7 Example Code See several linear and nonlinear examples at: Classic Bratu (solid fuel ignition) problem discretized with finite differences on a regular mesh in two dimensions –Solve: – Laplacian(u) – lambda*exp(u) = 0, 0 < x,y < 1 where u=0 for x=0,x=1, y=0, y=1 The application code consists of: –SIDL definition of the System component (in file Ex1.sidl) package Ex1 version {Ex1.sidl class System implements-all TOPS.System.Compute.Residual, gov.cca.Component, gov.cca.ports.GoPort {} } –Code that defines the nonlinear equation In file Ex1_System_Impl.cc … (See next slide) Ex1_System_Impl.cc

8 Example Code (cont.) File: Ex1_System_Impl.cc Get TOPS solver port Release TOPS solver port

9 Current Status and Future Plans The complete source code for TOPS components, along with the TOPS Software Installer, are available: Future work includes Incorporating TOPS components into scientific simulations Using CCA infrastructure for computational quality of service to explore the adaptivity of TOPS solver parameters and algorithms in response to changing conditions during long- running simulations

10 Appendix TOPS.System TOPS Component Generator TOPS Software Installer Additional CCA Overview Slides

11 TOPS.System (1) (continued)

12 TOPS.System (2) (continued)

13 TOPS.System (3) (continued)

14 TOPS.System (4) (continued)

15 TOPS.System (5)

16 TOPS Software Installer (1) Download TOPSInstaller.py and run:TOPSInstaller.py python TOPSInstaller.py (on Apple Mac OS X pythonw may be needed) Written using the EasyGui.py python module Follow the questions as below:

17 TOPS Software Installer (2)

18 TOPS Software Installer (3)

19 TOPS Software Installer (4)

20 TOPS Component Generator (1) Generates –the SIDL –the Babel boilerplate server code –all the CCA port registration code that must be added to the Babel generated code –a makefile that builds the component Essentially, applications simply need provide source code for the methods that define an algebraic linear or nonlinear problem. Run: – python TOPSGenerator.py (on Apple Mac OS X you may need pythonw) The particular set of images below generated the second TOPS solver component example –Multicomponent nonlinear PDE using a structured mesh (driven cavity model) –See examples/c++/Ex2 examples/c++/Ex2

21 TOPS Component Generator (2)

22 TOPS Component Generator (3)

23 TOPS Component Generator (4)

24 Additional Overview CCA Slides The following 4 slides provide an overview of how the CCA is enabling new approaches to scientific discovery. Just FYI. Use (or not) as you see fit. The 4 th slide (CCA Overview) is intended primarily as background information.

25 The CCA provides component technology for high-performance computing Ref: S. Lefantzi, et al. A Component-Based Toolkit for Reacting Flows with High Order Spatial Discretizations on Structured Adaptively Refined Meshes. Progress in Computational Fluid Dynamics, to appear. CPU load as a function of error for old (red) and new (blue) algorithms The Common Component Architecture (CCA) has enabled the SciDAC Computational Facility for Reacting Flow Science (CFRFS) to create a plug-and-play toolkit for AMR- based simulations of combustion. Recently, high-order discretizations were incorporated to drastically reduce resolution requirements and computation time. Changes confined to one component! Habib Najm (CFRFS PI): “The CCA has provided us with a great framework for developing and maintaining reacting flow codes. By providing well-defined interfaces and encouraging a code structure based on a hierarchy of interchangeable, lightweight components, the CCA-based CFRFS toolkit has resolved significant challenges with handling reacting flow code complexity.”

26 The CCA enables new approaches to scientific discovery For quantum chemists at PNNL (NWChem package) and SNL (MPQC package), the CCA provides new capabilities. The team achieved cost reductions of up to 43% for molecular structure determinations via CCA-based access to optimization components from ANL’s Toolkit for Advanced Optimization (TAO) and parallel data management components from PNNL’s Global Arrays In other calculations, use of CCA- provided infrastructure has resulted in 10-fold speed-ups by facilitating implementation of a hybrid parallel algorithm. NWChem leader Theresa Windus: “The hybrid algorithm would have been impractical to implement in a reasonable time without using the CCA; we see CCA- based technology as the foundation of future software development in chemistry.” Refs: J. P. Kenny, et al., Component-Based Integration of Chemistry and Optimization Software, J. Computat. Chem. 24, 1717 (2004); M. Krishnan, et al., Multilevel Parallelism in Computational Chemistry using Common Component Architecture and Global Arrays, Proceedings of SC2005, to appear.

27 CCA has seen widespread adoption in SciDAC and HPC in general Application areas participating in the CCA: astronomy, astrophysics, biological and medical simulations, chemically reacting flow, climate and weather modeling, combustion, computational chemistry, data management, fusion and plasma physics modeling, linear algebra, materials science, molecular electronics, nanoscience, nuclear power plant simulations, structured adaptive meshes, unstructured meshes, and visualization Research agencies sponsoring software development using the CCA: DOE (SciDAC, Office of Science, NNSA/ASC), NASA, NIH, NSF, DoD, European Union

28 CCA Overview Component environments –Combine object-oriented design with the powerful features of Well-defined interfaces Programming language interoperability Dynamic composability –Popular in commercial computing but do not adequately serve HPC needs The Common Component Architecture (CCA) is specially designed to meet the needs of high-performance scientific computing –Support for legacy software Minimal change required for component environment –Performance is important Negligible overhead for typical scientific applications (usually <1%) –Both parallel and distributed computing are important –Support for languages, data types, and platforms Including Fortran Including complex numbers and multi-dimensional arrays (as first-class objects) Portable to diverse parallel computing environments CCA specification and tools are developed by the CCA Forum –An open group that was established in 1998 as a grass-roots outgrowth of the DOE2000 initiative –The Center for Component Technology for Terascale Simulation Software Subset of the CCA Forum Members receive partial support from the SciDAC initiative