Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department.

Slides:



Advertisements
Similar presentations
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Advertisements

Page 1 APP + Trilinos Integration Status, Opportunities, and Challenges Roscoe A. Bartlett Department of Optimization.
Sponsored by the U.S. Department of Defense © 2005 by Carnegie Mellon University 1 Pittsburgh, PA Dennis Smith, David Carney and Ed Morris DEAS.
1 Approved for unlimited release as SAND C Verification Practices for Code Development Teams Greg Weirs Computational Shock and Multiphysics.
Unstructured Data Partitioning for Large Scale Visualization CSCAPES Workshop June, 2008 Kenneth Moreland Sandia National Laboratories Sandia is a multiprogram.
Software Asset Management at Sandia National Laboratories NLIT Summit 2009 June 2, 2009 Ramona K. Gallegos Programmer/Analyst Andrew H. Steele Programmer/Analyst.
API WG Update 16th Eurofiling Workshop Wednesday 12 December Herm Fischer.
Data Warehouse Tools and Technologies - ETL
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 Software Life-cycle and Integration Issues for CS&E R&D Software and Experiences from Trilinos (Part I) Roscoe A. Bartlett
Page 1 The State of Trilinos Software Engineering Recent Progress, Current Status, and Future Issues Roscoe A. Bartlett
Trilinos Coding and Documentation Guidelines Roscoe A. Bartlett Trilinos Software Engineering Technologies and Integration Lead Computer Science and Mathematics.
MS17 A Case Study on the Vertical Integration of Trilinos Solver Algorithms with a Production Application Code Organizer: Roscoe A. Bartlett Sandia National.
Mobile Distributed 3D Sensing Sandia National Laboratories Intelligent Sensors and Robotics POC: Chris Lewis
Framework for Automated Builds Natalia Ratnikova CHEP’03.
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.
SAINT2002 Towards Next Generation January 31, 2002 Ly Sauer Sandia National Laboratories Sandia is a multiprogram laboratory operated by Sandia Corporation,
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Trilinos Strategic (and Tactical) Planning Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United.
Trilinos User Group Meeting Thursday, November 8 th, 2007 Timothy M. Shead (1424) Danny Dunlavy (1415) SAND P Sandia is a multiprogram laboratory.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, :00.
Trilinos: From a User’s Perspective Russell Hooper Nov. 7, 2007 SAND P Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
Principles of Scalable HPC System Design March 6, 2012 Sue Kelly Sandia National Laboratories Abstract: Sandia National.
Page 1 Trilinos Usage of CMake/CTest/CDash Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Sandia.
Page 1 Trilinos Software Engineering Status and Future Issues Roscoe A. Bartlett Department of Optimization & Uncertainty.
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.
Large-Scale Stability Analysis Algorithms Andy Salinger, Roger Pawlowski, Ed Wilkes Louis Romero, Rich Lehoucq, John Shadid Sandia National Labs Albuquerque,
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.
Page 1 Software Life-cycle and Integration Issues for CS&E R&D Software and Experiences from Trilinos (Part II, Integration Issues) Roscoe A. Bartlett.
Page 1 Trilinos Release Improvement Issues Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Trilinos.
The Red Storm High Performance Computer March 19, 2008 Sue Kelly Sandia National Laboratories Abstract: Sandia National.
1 ModelEvaluator Scalable, Extendable Interface Between Embedded Nonlinear Analysis Algorithms and Applications Roscoe A. Bartlett Department of Optimization.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Strategies for Solving Large-Scale Optimization Problems Judith Hill Sandia National Laboratories October 23, 2007 Modeling and High-Performance Computing.
ASP.NET &.NET Environment. Overview Part of Microsoft’s.NET environment Used for Development of  Websites  Internet applications  Web Services & XML.
Generalization and externalization of the Trilinos package- based system Roscoe A. Bartlett Trilinos Software Engineering Technologies and Integration.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Effort.vs. Software Product “Quality” Effort Product “Quality” Which curve? - linear? - logarithmic? - exponential?
Thyra from a Developer's Perspective Roscoe A. Bartlett Department 1411: Optimization and Uncertainty Estimation Sandia National Laboratories Sandia is.
New Features in ML 2004 Trilinos Users Group Meeting November 2-4, 2004 Jonathan Hu, Ray Tuminaro, Marzio Sala, Michael Gee, Haim Waisman Sandia is a multiprogram.
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.
STK (Sierra Toolkit) Update Trilinos User Group meetings, 2014 R&A: SAND PE Sandia National Laboratories is a multi-program laboratory operated.
Page 1 Almost Continuous Integration for the Co-Development of Highly Integrated Applications and Third Party Libraries Roscoe A. Bartlett
Sandia is a multi-program laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Trilinos Strategic (and Tactical) Planning Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United.
Site Report DOECGF April 26, 2011 W. Alan Scott Sandia National Laboratories Sandia National Laboratories is a multi-program laboratory managed and operated.
Page 1 CMake Trilinos? Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Esteban J. Guillen Department.
Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program laboratory.
CCA Common Component Architecture Insights from Quantum Chemistry Joseph P. Kenny Scalable Computing Research and Design Sandia National Laboratories Livermore,
Page 1 Integration Strategies for Computational Science & Engineering Software Roscoe A. Bartlett Department of Optimization.
1Managed by UT-Battelle for the U.S. Department of Energy Roadmap for Sustainable CSE Ecosystems A Roadmap for Sustainable Ecosystems of CSE Software Roscoe.
Page 1 Open-Source Software for Interfacing and Support of Large-scale Embedded Nonlinear Optimization Roscoe A. Bartlett
INTEGRATED BUSINESS MANAGEMENT SYSTEMS AUTOMATING THE VALUE CHAIN FOR SMALL BUSINESSES.
Automated File Server Disk Quota Management May 13 th, 2008 Bill Claycomb Computer Systems Analyst Infrastructure Computing Systems Department Sandia is.
Virtual Directory Services and Directory Synchronization May 13 th, 2008 Bill Claycomb Computer Systems Analyst Infrastructure Computing Systems Department.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
C Software Life-cycle and Integration Issues for CS&E R&D Software and Experiences from Trilinos (Part I) Roscoe A. Bartlett
Chapter 18 Maintaining Information Systems
ModelEvaluator Scalable, Extendable Interface Between Embedded Nonlinear Analysis Algorithms and Applications Roscoe A. Bartlett Department of Optimization.
Trilinos Software Engineering Technologies and Integration
P Almost Continuous Integration for the Co-Development of Highly Integrated Applications and Third Party Libraries Roscoe A. Bartlett
Embedded Nonlinear Analysis Tools Capability Area
Chapter 2: Building a System
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation Trilinos Software Engineering Technologies and Integration Lead Sandia National Laboratories Trilinos User Group Meeting, November 3, 2009 Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC04-94AL P

Page 2 Trilinos Software Engineering Technologies and Integration 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, Ctrilinos General Software Quality and Design –Separation of “Stable” vs. “Experimental” code –Day-to-day stability of “Stable” code Lean/Agile Software Engineering Principles and Practices –Internal Trilinos issues –External customer issues

Page 3 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 –Regulated backward compatibility and smooth upgrades

Page 4 Backward Compatibility Considerations Backward compatibility is critical for: Safe upgrades of Trilinos releases Composability and compatibility of different software collections

Page 5 Example of the Need for Backward Compatibility Xyce J+1 (released against Trilinos X) VTK M+1 (released against Trilinos X+1) Multiple releases of Trilinos presents a possible problem with complex applications Solution: => Provide perfect backward compatibility of Trilinos X through Trilinos SIERRA Y+1 SIERRA Y+1 (released against Trilinos SIERRA Y+1) Trilinos SIERRA Y+1?

Page 6 Backward Compatibility Considerations Backward compatibility is critical for: Safe upgrades of Trilinos releases Composability and compatibility of different software collections Maintaining backward compatibility for all time has downsides: Testing/proving backward compatibility is expensive and costly Encourages not changing (refactoring) existing interfaces etc. => Leads to software “entropy” which kills a software product A compromise: Regulated backward compatibility (Tentative) Maintain a window of perfect backward compatibility over major version numbers (e.g. 1-2 years) Provide “Deprecated” compiler warnings Example: GCC’s __deprecated__ attribute enabled with –DTrilinos_SHOW_DEPRCATED_WARNINGS:BOOL=ON Provide strong automated testing of Trilinos backward compatibility Drop backward compatibility between major version numbers

Dev Page 7 Regulated Backward Compatibility for Trilinos (Tentative) 10.0 (Sept 2009) 11.0 (Sept 2011) Releases of Trilinos X guarantee backward comparability between releases X.Y and X.Z where Z > Y Example: Trilinos10.5 is backward compatible with 10.0 through 10.4 Example: Trilinos 11.X is not compatible with Trilinos 10.Y Major Trilinos version numbers change every 1-2 years Example: Major Trilinos versions change every 2 years with 2 releases per year Maintain backward compatibility of 11.0 with only 10.3 but drop all other deprecated code! Actual Target (Tentative): Keep major Trilinos version number for two years Put out releases quarterly (with minor releases X.Y.Z as needed) Backward compatibility test Dev and current release every night!

Page 8 Trilinos Software Engineering Capabilities Area Webpage