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

Slides:



Advertisements
Similar presentations
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
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 APP + Trilinos Integration Status, Opportunities, and Challenges 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.
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.
- 1 - Component Based Development R&D SDM Theo Schouten.
FY07 ASC Vertical Integration Milestone Overview, Lessons Learned, and Next Steps Roscoe A. Bartlett Department of Optimization & Uncertainty Estimation.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Overview of the TriBITS Lifecycle Model First Workshop on Maintainable Software Practices in e-Science (SoftwarePractice12) October 9, 2012 Dr. Roscoe.
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
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
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.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
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.
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.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
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 Numerical Algorithm Interoperability and Vertical Integration –Abstract Numerical Algorithms.
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.
CMake For Trilinos Developers
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.
Generalization and externalization of the Trilinos package- based system Roscoe A. Bartlett Trilinos Software Engineering Technologies and Integration.
Thyra from a Developer's Perspective Roscoe A. Bartlett Department 1411: Optimization and Uncertainty Estimation Sandia National Laboratories Sandia is.
Teuchos: Utilities for Developers & Users November 2nd, 3:30-4:30pm Roscoe Bartlett Mike Heroux Kris Kampshoff Kevin Long Paul Sexton Heidi.
Trilinos Framework Update Roscoe A. Bartlett James M. Willenbring Michael N. Phenow Trilinos User Group Monday, October 31st, : :30 am Building.
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.
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.
ParaView III Software Methodology Update Where to now November 29, 2006 John Greenfield Sandia is a multiprogram laboratory operated by Sandia Corporation,
Daily Integration and Testing of the Development Versions of Applications and Trilinos A stronger foundation for enhanced collaboration in application.
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.
David B. Johnson Rice University Department of Computer Science DSR Draft Status Monarch Project 57th IETF.
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
Trilinos Software Engineering Technologies and Integration
Component-Based Software Engineering
Chapter 2: The Linux System Part 1
P Almost Continuous Integration for the Co-Development of Highly Integrated Applications and Third Party Libraries Roscoe A. Bartlett
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
Analysis models and design models
Chapter 17 - Component-based software engineering
Embedded Nonlinear Analysis Tools Capability Area
ONAP Architecture Principle Review
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 2, 2010 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 C

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) 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 Recent Trilinos Improvements of General Interest  External repositories and add-on Trilinos packages  Allows users to add their own packages independently and use the Trilinos CMake/CTest/CDash system  [Future] Generalize and externalize the Trilinos CMake/CTest/CDash system  Allow other projects to fully exploit the Trilinos SE infrastructure  Will be used by projects like NEAMS, CASL and perhaps others  Regulated backward compatibility and Trilinos versioning  Deprecated warnings allow users to slowly refactor code  [Future] automated testing of backward compatibility  Teuchos memory management classes:  Eliminate undefined behavior in C++ codes (single objects and arrays of objects).   SIERRA Trilinos Almost Continuous Integration process:  Nightly testing (< 48 hour delay) of a lot of Trilinos (Teuchos through MOOCHO) on many platforms (GCC, Intel, AIX, Pathscale, PGI, etc.)  SIERRA takes snapshots of Trilinos for releases  Greater Trilinos development stability:  Allow for daily integration testing and daily updating of customer APPs

External Trilinos Repositories and Add-On Packages Example: $ cd $TRILINOS_HOME_DIR $ eg clone software.sandia.gov:/space/git/preCopyrightTrilinos $ cd $BUILD_DIR $./do-configure -DTrilinos_EXTRA_REPOSITORIES=preCopyrightTrilinos \ -DTrilinos_ENABLE_Amesos2 … After that, all of the extra packages defined in will appear in the list of official Trilinos packages and you are free to enable any that you would like just like any other Trilinos package. For more details see: $TRILINOS_HOME_DIR/cmake/TrilinosCMakeQuickstart.txt $TRILINOS_HOME_DIR/cmake/HOWTO.ADD_EXTRA_REPO

Page 5 Backward Compatibility Considerations Backward compatibility is critical for: Safe upgrades of new 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 (Trilinos approach) Maintain a window of “sufficient” 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 Drop backward compatibility between major version numbers [Future] Provide strong automated testing of Trilinos backward compatibility

11.5 (Dev) Page 6 Regulated Backward Compatibility in Trilinos 10.0 (Sept 2009) 11.0 (Sept 2011) Trilinos Version Numbering X.Y.Z: X: Defines backward compatibility set of releases Y: Major release (off the master branch) number in backward compatible set Z: Minor releases off the release branch X.Y Y and Z: Even numbers = release, odd numbers = dev Makes logic with Trilinos_version.h easier Backward comparability between releases Example: Trilinos10.6 is backward compatible with 10.0 through 10.4 Example: Trilinos 11.X is not compatible with Trilinos 10.Y Maintain backward compatibility of 11.0 with only 10.3 but drop all other deprecated code! Test backward compatibility of Dev with current release every night! Example: Major Trilinos versions change every 2 years with 2 releases per year

Page 7 Trilinos Software Engineering Capabilities Area Webpage