Trilinos is a collection of packages that provide numerical algorithms and capabilities. Each package is developed independently but is designed to work with other packages. Over time, as packages mature they gain various levels of interoperability through configuration options and abstract interfaces which allows them to be used by other packages and applications without dependencies. This asynchronous development model allows packages to evolve at different rates while maintaining a coherent overall framework.
"Engaging with DARPA"
Dr. Tyler McQuade,
Program Manager
Defense Sciences Office
DARPA
February 13, 2015
***
Dr. Tyler McQuade Bio
Dr. D. Tyler McQuade joined DARPA as a program manager in the Defense Sciences Office in 2013.
Prior to joining DARPA, Dr. McQuade was a visiting group leader at the Max Planck Institute of Colloids and Interfaces, on leave from his faculty position at The Florida State University.
Dr. McQuade was an NIH Post-doctoral Fellow at the Massachusetts Institute of Technology. He received a Doctor of Philosophy in Organic Chemistry from the University of Wisconsin, and Bachelor of Science degrees in Chemistry and Biology from the University of California – Irvine.
NLP on Hadoop: A Distributed Framework for NLP-Based Keyword and Keyphrase Ex...Paolo Nesi
Abstract—The recent growth of the World Wide Web at increasing rate and speed and the number of online available resources populating Internet represent a massive source of knowledge for various research and business interests. Such knowledge is, for the most part, embedded in the textual content of web pages and documents, which is largely represented as unstructured natural language formats. In order to automatically ingest and process such huge amounts of data, single-machine, non-distributed architectures are proving to be inefficient for tasks like Big Data mining and intensive text processing and analysis. Current Natural Language Processing (NLP) systems are growing in complexity, and computational power needs have been significantly increased, requiring solutions such as distributed frameworks and parallel computing programming paradigms. This paper presents a distributed framework for executing NLP related tasks in a parallel environment. This has been achieved by integrating the APIs of the widespread GATE open source NLP platform in a multi-node cluster, built upon the open source Apache Hadoop file system. The proposed framework has been evaluated against a real corpus of web pages and documents.
Session 2 of the Technology & Innovation Management Course. Content: contextual market segmentation, jobs to be done, NASA/DOD technology readiness level
AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...Dr. Haxel Consult
Word embeddings, deep learning, transformer models and other pre-trained neural language models (sometimes recently referred to as "foundational models") have fundamentally changed the way state-of-the-art systems for natural language processing and information access are built today. The "Data-to-Value" process methodology (Leidner 2013; Leidner 2022a,b) has been devised to embody best practices for the construction of natural language engineering solutions; it can assist practitioners and has also been used to transfer industrial insights into the university classroom. This talk recaps how the methodology supports engineers in building systems more consistently and then outlines the changes in the methodology to adapt it to the deep learning age. The cost and energy implications will also be discussed.
STM Week: Demonstrating bringing publications to life via an End-to-end XML p...GigaScience, BGI Hong Kong
Scott Edmunds at the STM Week 2020 Digital Publishing seminar on Demonstrating bringing publications to life via an End-to-end XML publishing platform. 2nd December 2020
Presentation by Stefanie Tompkins, director, Defense Science Office, Defense Advanced Research Projects Agency (DARPA), on Wednesday, June 1, 2016. This This presentation will give an overview of DARPA, working with DARPA and the Defense Sciences Office, and descriptions of some of the current activities DSO's program managers are working on.
DARPA’s mission is to make pivotal investments in breakthrough technologies for national security, thus catalyzing the development of capabilities that give the Nation new options for preventing and creating strategic surprise.
The Defense Sciences Office (DSO) is one of six technical offices at the agency.
DSO identifies and pursues high-risk, high-payoff fundamental research initiatives across a broad spectrum of science and engineering disciplines including materials science, computing and autonomy, engineering design and manufacturing, physics, chemistry, mathematics and social science.
Talk delivered by Craig Smith and Julian Smith at ICAgile Experts Meetup Group on 22 September 2021.
Today 'agile' is no longer just a buzzword. From building spacecraft to manufacturing, some of the most complex and largest organisations in the world are using agile ways of working to deliver better outcomes, respond to change, improve quality, foster more productive and happier teams, and reduce risk.
This hands-on and interactive session is aimed at helping public sector organisations build capability to support agile ways of working, from policy development through to service design and delivery.
Cultivating Sustainable Software For ResearchNeil Chue Hong
Keynote given at the NSF Cyberinfrastructure Software and Sustainability Workshop, March 26th-27th 2009, Indianapolis.
Exploration of software sustainability based on experiences from UK.
Platform for Big Data Analytics and Visual Analytics: CSIRO use cases. Februa...Tomasz Bednarz
Presented at the ACEMS workshop at QUT in February 2015.
Credits: whole project team (names listed in the first slide).
Approved by CSIRO to be shared externally.
"Engaging with DARPA"
Dr. Tyler McQuade,
Program Manager
Defense Sciences Office
DARPA
February 13, 2015
***
Dr. Tyler McQuade Bio
Dr. D. Tyler McQuade joined DARPA as a program manager in the Defense Sciences Office in 2013.
Prior to joining DARPA, Dr. McQuade was a visiting group leader at the Max Planck Institute of Colloids and Interfaces, on leave from his faculty position at The Florida State University.
Dr. McQuade was an NIH Post-doctoral Fellow at the Massachusetts Institute of Technology. He received a Doctor of Philosophy in Organic Chemistry from the University of Wisconsin, and Bachelor of Science degrees in Chemistry and Biology from the University of California – Irvine.
NLP on Hadoop: A Distributed Framework for NLP-Based Keyword and Keyphrase Ex...Paolo Nesi
Abstract—The recent growth of the World Wide Web at increasing rate and speed and the number of online available resources populating Internet represent a massive source of knowledge for various research and business interests. Such knowledge is, for the most part, embedded in the textual content of web pages and documents, which is largely represented as unstructured natural language formats. In order to automatically ingest and process such huge amounts of data, single-machine, non-distributed architectures are proving to be inefficient for tasks like Big Data mining and intensive text processing and analysis. Current Natural Language Processing (NLP) systems are growing in complexity, and computational power needs have been significantly increased, requiring solutions such as distributed frameworks and parallel computing programming paradigms. This paper presents a distributed framework for executing NLP related tasks in a parallel environment. This has been achieved by integrating the APIs of the widespread GATE open source NLP platform in a multi-node cluster, built upon the open source Apache Hadoop file system. The proposed framework has been evaluated against a real corpus of web pages and documents.
Session 2 of the Technology & Innovation Management Course. Content: contextual market segmentation, jobs to be done, NASA/DOD technology readiness level
AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...Dr. Haxel Consult
Word embeddings, deep learning, transformer models and other pre-trained neural language models (sometimes recently referred to as "foundational models") have fundamentally changed the way state-of-the-art systems for natural language processing and information access are built today. The "Data-to-Value" process methodology (Leidner 2013; Leidner 2022a,b) has been devised to embody best practices for the construction of natural language engineering solutions; it can assist practitioners and has also been used to transfer industrial insights into the university classroom. This talk recaps how the methodology supports engineers in building systems more consistently and then outlines the changes in the methodology to adapt it to the deep learning age. The cost and energy implications will also be discussed.
STM Week: Demonstrating bringing publications to life via an End-to-end XML p...GigaScience, BGI Hong Kong
Scott Edmunds at the STM Week 2020 Digital Publishing seminar on Demonstrating bringing publications to life via an End-to-end XML publishing platform. 2nd December 2020
Presentation by Stefanie Tompkins, director, Defense Science Office, Defense Advanced Research Projects Agency (DARPA), on Wednesday, June 1, 2016. This This presentation will give an overview of DARPA, working with DARPA and the Defense Sciences Office, and descriptions of some of the current activities DSO's program managers are working on.
DARPA’s mission is to make pivotal investments in breakthrough technologies for national security, thus catalyzing the development of capabilities that give the Nation new options for preventing and creating strategic surprise.
The Defense Sciences Office (DSO) is one of six technical offices at the agency.
DSO identifies and pursues high-risk, high-payoff fundamental research initiatives across a broad spectrum of science and engineering disciplines including materials science, computing and autonomy, engineering design and manufacturing, physics, chemistry, mathematics and social science.
Talk delivered by Craig Smith and Julian Smith at ICAgile Experts Meetup Group on 22 September 2021.
Today 'agile' is no longer just a buzzword. From building spacecraft to manufacturing, some of the most complex and largest organisations in the world are using agile ways of working to deliver better outcomes, respond to change, improve quality, foster more productive and happier teams, and reduce risk.
This hands-on and interactive session is aimed at helping public sector organisations build capability to support agile ways of working, from policy development through to service design and delivery.
Cultivating Sustainable Software For ResearchNeil Chue Hong
Keynote given at the NSF Cyberinfrastructure Software and Sustainability Workshop, March 26th-27th 2009, Indianapolis.
Exploration of software sustainability based on experiences from UK.
Platform for Big Data Analytics and Visual Analytics: CSIRO use cases. Februa...Tomasz Bednarz
Presented at the ACEMS workshop at QUT in February 2015.
Credits: whole project team (names listed in the first slide).
Approved by CSIRO to be shared externally.
The standard view of philosophers is that the existence of particular events within our universe is capable of being explained in terms of initial conditions and natural laws, but that the existence of our universe itself is a 'brute
given' that is incapable of naturalistic explanation ....
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Trilinos progress, challenges and future plans
1. Trilinos Progress, Challenges
and Future Plans
Michael A. Heroux
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.
2. Trilinos Contributors
Chris Baker
Ross Bartlett
Pavel Bochev
Paul Boggs
Erik Boman
Cedric Chevalier
Todd Coffey
David Day
Karen Devine
Clark Dohrmann
David Gay
Esteban Guillen
Mike Heroux
Ulrich Hetmaniuk
Robert Hoekstra
Russell Hooper
Vicki Howle
Jonathan Hu
Tammy Kolda
Sarah Knepper
Joe Kotulski
Rich Lehoucq
Kevin Long
Roger Pawlowski
Eric Phipps
Lee Ann Riesen
Marzio Sala
Andrew Salinger
Chris Siefert
Bill Spotz
Heidi Thornquist
Ray Tuminaro
Jim Willenbring
Alan Williams
Past Contributors
Jason Cross
Michael Gee
Bob Heaphy
Kris Kampshoff
Joe Outzen
Mike Phenow
Paul Sexton
Bob Shuttleworth
Ken Stanley
New Member
Brent Perschbacher
5. Target Platforms: Any and All
(Now and in the Future)
Desktop: Development and more…
Capability machines:
Redstorm (XT3), Clusters
Roadrunner (Cell-based).
Multicore nodes.
Parallel software environments:
MPI of course.
UPC, CAF, threads, vectors,…
Combinations of the above.
User “skins”:
C++/C, Python
Fortran.
Web, CCA.
6. Evolving Trilinos Solution
Trilinos1 is an evolving framework to address these challenges:
Fundamental atomic unit is a package.
Includes core set of vector, graph and matrix classes (Epetra/Tpetra packages).
Provides a common abstract solver API (Thyra package).
Provides a ready-made package infrastructure (new_package package):
• Source code management (cvs, bonsai).
• Build tools (autotools, soon Cmake).
• Automated regression testing.
• Communication tools (mailman mail lists).
Specifies requirements and suggested practices for package SQA.
In general allows us to categorize efforts:
Efforts best done at the Trilinos level (useful to most or all packages).
Efforts best done at a package level (peculiar or important to a package).
Allows package developers to focus only on things that are unique to
their package.
1. Trilinos loose translation: “A string of pearls”
7. Evolving Trilinos Solution
Numerical math
Convert to models that
can be solved on digital
computers
Algorithms
Find faster and more
efficient ways to solve
numerical models
L(u)=f
Math. model
Lh(uh)=fh
Numerical model
uh=Lh
-1fh
Algorithms
physics
computation
Linear
Nonlinear
Eigenvalues
Optimization
Automatic diff.
Domain dec.
Mortar methods
Time domain
Space domain
Petra
Utilities
Interfaces
Load Balancing
solvers
discretizations methods
core
Beyond a “solvers” framework
Natural expansion of capabilities to satisfy
application and research needs
Discretization methods, AD, Mortar methods, …
8. 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 to optimization.
Grand Universal Interoperability: All Trilinos packages will be
interoperable, so that any combination of packages that
makes sense algorithmically will be possible within Trilinos and with
compatible external software.
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 Capabilities RAS: Trilinos will be:
Integrated into every major application at Sandia (Availability).
The leading edge hardened, efficient, scalable solution for each of these
applications (Reliability).
Easy to maintain and upgrade within the application environment
(Serviceability).
Algorithmic
Goals
Software
Goals
9. Registered Users by Region (2031 Total)
720
657
224
281
98
29
22
Europe
US (except Sandia)
Sandia (includes
unregistered)
Asia
Americas (except US)
Australia/NZ
Africa
Registered Users by Type (2031 Total)
1152
371
237
223
48
University
Government
Personal
Industry
Other
Trilinos Statistics, 11/2007
Stats: Trilinos Download Page 11/5/2007.
Trilinos Statistics by Release
22
22
16
5.48
4.40
9
27
26
26
17
7.16
7.36
11
30
29
27
18
8.95
10.21
19
33
32
30
27
9.54
19.25
28
35
38
33
31
10.0
5.06
33
36
0 5 10 15 20 25 30 35 40
Packages in repository
Limited release packages
General release packages
Source lines (100K)
Downloads (100s)
Automated Regression
Tested packages
Developers
Counts
Release 8.0 (9/07)
Release 7.0 (9/06)
Release 6.0 (9/05)
Release 5.0 (3/05)
Release 4.0 (6/04)
11. External Visibility
Awards: R&D 100, HPC SW Challenge (04).
www.cfd-online.com:
Industry Collaborations: Boeing, Goodyear, ExxonMobil, others.
Linux distros: Debian, Mandriva, Ubuntu, Fedora.
SciDAC TOPS-2 partner, IAA Algorithms (with ORNL).
Over 8000 downloads since March 2005.
Occasional unsolicited external endorsements such as the following two-person exchange on
mathforum.org:
> The consensus seems to be that OO has little, if anything, to offer
> (except bloat) to numerical computing.
I would completely disagree. A good example of using OO in numerics is
Trilinos: http://software.sandia.gov/trilinos/
Trilinos
A project led by Sandia to develop an object-oriented software framework for scientific computations.
This is an active project which includes several state-of-the-art solvers and lots of other nice things a
software engineer writing CFD codes would find useful. Everything is freely available for download once
you have registered. Very good!
12. Trilinos Presentation Forums
ACTS “Hands-on” Tutorial:
Aug 18-20, 2009 (approximate).
At Lawrence Berkeley Lab, Berkeley, CA, USA.
Next Trilinos User Group Meeting:
Proposal: Nov 3-5, 2009.
At Sandia National Laboratories, Albuquerque, NM, USA.
HPCSW Week Symposium ?
Tutorial last year.
Not sure if happening again this year.
Supercomputing 2009 ?
Tutorial on Library-based Application Development.
13. Characterizing the Trilinos “Project”
Not a “project” but an infrastructure to support inter-
related projects: A project of projects.
Package participation is voluntary:
Framework must be attractive (and continue to be).
Requirements are few, opportunities are many.
Package team decides what and when.
Opt-out is always an option.
Package autonomy is carefully guarded:
Even if redundant development occurs.
Decision-making pushed to lowest (best) level.
Participation is attractive:
Increasing infrastructure capabilities.
Access to many other packages.
14. Changing Scope of Trilinos
Capabilities:
Past: Solver capabilities and supporting components.
Now: Any library for science/engineering (Zoltan, Intrepid, …).
Customers:
Past: Sandia and other NNSA customers.
Now: Expanding to Office of Science
applications, DoD, DHS, CRADAs and WFO.
Platforms:
Past: All platforms using command-line installer (Autotools).
Linux/Unix bias.
Now: Expanding to GUI & binary installer (Cmake). Native
Winodws/Mac process.
The Changing Scope of the Trilinos Project, Michael A.
Heroux, Technical Report, Sandia National
Laboratories, SAND2007-7775, December 2007.
15. Capability Leaders:
New Layer of Proactive Leadership
Areas:
Framework, Tools & Interfaces (J. Willenbring).
Software Engineering Technologies and Integration (R. Bartlett).
Discretizations (P. Bochev).
Geometry, Meshing & Load Balancing (K. Devine).
Scalable Linear Algebra (M. Heroux).
Linear & Eigen Solvers (J. Hu).
Nonlinear, Transient & Optimization Solvers (A. Salinger).
Each leader provides strategic direction across all Trilinos packages
within area.
16. Courting Science Apps
Attended Many Office of Science meetings in FY07/08.
Clear messages:
Fortran is the language.
PETSc is used in many apps.
Therefore Trilinos Needs:
A legitimate Fortran API: ForTrilinos (Ctrilinos pre-req).
• Using some (but not all) of Fortran 2003 features:
– C interoperability.
– OO Fortran.
• Exposes user-oriented interfaces (small fraction of total).
PETSc interoperablity.
• App should be able to leverage investment in PETSc data structures and
solvers.
• Use of Trilinos capabilities (preconditioners, transient, optimization, UQ)
should build on top.
17. Two Budding Collaborations
Homme: Atmospheric dynamical core.
Kate Evans ORNL.
Implicit methods for shallow water equations.
D. Rouson, A. Salinger, M. Taylor, R. Bartlett.
POP: Parallel Ocean Program
Wilbert Weijer LANL.
Implicit methods, tangent linear/adjoint methods.
19. Trilinos Packages
Trilinos is a collection of Packages.
Each package is:
Focused on important, state-of-the-art algorithms in its problem
regime.
Developed by a small team of domain experts.
Self-contained: No explicit dependencies on any other software
packages (with some special exceptions).
Configurable/buildable/documented on its own.
Sample packages: NOX, AztecOO, ML, IFPACK, Meros.
Special package collections:
Petra (Epetra, Tpetra, Jpetra): Concrete Data Objects
Thyra: Abstract Conceptual Interfaces
Teuchos: Common Tools.
New_package: Jumpstart prototype.
20. Trilinos Package Summary
http://trilinos.sandia.gov
Objective Package(s)
Discretizations
Meshing & Spatial Discretizations phdMesh, Intrepid, Pamgen, Sundance
Time Integration Rythmos
Methods
Automatic Differentiation Sacado
Mortar Methods Moertel
Core
Linear algebra objects Epetra, Jpetra, Tpetra
Abstract interfaces Thyra, Stratimikos, RTOp
Load Balancing Zoltan, Isorropia
“Skins” PyTrilinos, WebTrilinos, Star-P, ForTrilinos, CTrilinos
C++ utilities, I/O, thread API Teuchos, EpetraExt, Kokkos, Triutils, TPI
Solvers
Iterative (Krylov) linear solvers AztecOO, Belos, Komplex
Direct sparse linear solvers Amesos
Direct dense linear solvers Epetra, Teuchos, Pliris
Iterative eigenvalue solvers Anasazi
ILU-type preconditioners AztecOO, IFPACK
Multilevel preconditioners ML, CLAPS
Block preconditioners Meros
Nonlinear system solvers NOX, LOCA
Optimization (SAND) MOOCHO, Aristos
Stochastic PDEs Stokhos
23. Interoperability vs. Dependence
(“Can Use”) (“Depends On”)
Although most Trilinos packages have no explicit
dependence, each package must interact with some other packages:
NOX needs operator, vector and solver objects.
AztecOO needs preconditioner, matrix, operator and vector objects.
Interoperability is enabled at configure time. For example, NOX:
--enable-nox-lapack compile NOX lapack interface libraries
--enable-nox-epetra compile NOX epetra interface libraries
--enable-nox-petsc compile NOX petsc interface libraries
Trilinos configure script is vehicle for:
Establishing interoperability of Trilinos components…
Without compromising individual package autonomy.
Trilinos offers seven basic interoperability mechanisms.
../configure –enable-python
24. Trilinos Interoperability Mechanisms
(Acquired as Package Matures)
Package builds under Trilinos
configure scripts.
Package can be built as part of a
suite of packages; cross-package
interfaces enable/disable
automatically
Package accepts user data as
Epetra or Thyra objects
Applications using Epetra/Thyra can
use package
Package accepts parameters from
Teuchos ParameterLists
Applications using Teuchos
ParameterLists can drive package
Package can be used via Thyra
abstract solver classes
Applications or other packages using
Thyra can use package
Package can use Epetra for private
data.
Package can then use other packages
that understand Epetra
Package accesses solver services
via Thyra interfaces
Package can then use other packages
that implement Thyra interfaces
Package available via PyTrilinos,
ForTrilinos, WebTrilinos
Package can be used with other
Trilinos packages via Python,
Fortran, Website.
25. Interoperability Example: ML
ML: Multi-level Preconditioner Package.
Primary Developers: Ray Tuminaro, Jonathan Hu, Marzio Sala.
No explicit, essential dependence on other Trilinos packages.
Uses abstract interfaces to matrix/operator objects.
Has independent configure/build process (but can be invoked at Trilinos level).
Interoperable with other Trilinos packages and other libraries:
Accepts user data as Epetra matrices/vectors.
Can use
• Epetra for internal matrices/vectors.
• IFPACK, Amesos, AztecOO, etc. objects as smoothers, coarse solvers.
Can be used via
• Thyra abstract interfaces.
• PyTrilinos.
Can be built via Trilinos configure/build process.
Can be driven via Teuchos ParameterLists.
Available as preconditioner to all other Trilinos packages.
Available to PETSc users without dependence on any other Trilinos packages.
27. Day 1 of Package Life
CVS: Each package is self-contained in Trilinos/package/ directory.
Bugzilla: Each package has its own Bugzilla product.
Bonsai: Each package is browsable via Bonsai interface.
Mailman: Each Trilinos package, including Trilinos itself, has four mail
lists:
package-checkins@software.sandia.gov
• CVS commit emails. “Finger on the pulse” list.
package-developers@software.sandia.gov
• Mailing list for developers.
package-users@software.sandia.gov
• Issues for package users.
package-announce@software.sandia.gov
• Releases and other announcements specific to the package.
New_package (optional): Customizable boilerplate for
Autoconf/Automake/Doxygen/Python/Thyra/Epetra/TestHarness/Website
28. Sample Package Maturation Process
Step Example
Package added to CVS: Import existing code or start
with new_package.
ML CVS repository migrated into Trilinos (July 2002).
Mail lists, Bugzilla Product, Bonsai database
created.
ml-announce, ml-users, ml-developers, ml-checkins, ml-
regression @software.sandia.gov created, linked to CVS (July
2002).
Package builds with configure/make, Trilinos-
compatible
ML adopts Autoconf, Automake starting from new_package
(June 2003).
Epetra objects recognized by package. ML accepts user data as Epetra matrices and vectors (October
2002).
Package accessible via Thyra interfaces. ML adaptors written for TSFCore_LinOp (Thyra) interface
(May 2003).
Package uses Epetra for internal data. ML able to generate Epetra matrices. Allows use of AztecOO,
Amesos, Ifpack, etc. as smoothers and coarse grid solvers (Feb-
June 2004).
Package parameters settable via Teuchos
ParameterList
ML gets manager class, driven via ParameterLists (June 2004).
Package usable from Python (PyTrilinos) ML Python wrappers written using new_package template
(April 2005).
Startup Steps Maturation Steps
30. What Trilinos is not
Trilinos is not a single monolithic piece of software. Each package:
Can be built independent of Trilinos.
Has its own self-contained CVS structure.
Has its own Bugzilla product and mail lists.
Development team is free to make its own decisions about algorithms, coding
style, release contents, testing process, etc.
Trilinos top layer is not a large amount of source code:
Less than 1% SLOC outside of packages.
Trilinos is not “indivisible”:
You don’t need all of Trilinos to get things done.
Any collection of packages can be combined and distributed.
Current public release contains only 30 of the 40+ Trilinos packages.
31. Insight from History
A Philosophy for Future Directions
In the early 1800’s U.S. had many new territories.
Question: How to incorporate into U.S.?
Colonies? No.
Expand boundaries of existing states? No.
Create process for self-governing regions. Yes.
Theme: Local control drawing on national resources.
Trilinos package architecture has some similarities:
Asynchronous maturation.
Packages decide degree of interoperations, use of Trilinos
facilities.
Strength of each: Scalable growth with local control.
32. Major Framework Themes: FY05/06
Trilinos Package Architecture:
Continue refinement of new_package.
Explicitly define Trilinos compatibility.
Resolve the abstract interface issue.
Software Quality:
Expand use and ease-of-use of test harness.
Identify metrics and automate capture and display.
Establish a life-cycle model (hybrid agile/unified process?).
Customize the ASC SQP to our environment.
Packages:
Foster new package development.
Manage the growth. Issue: complexity of package coupling.
Harden our mature packages.
Transition to post-delivery maintenance:
Organizational issue: Tough to solve.
33. Major Themes for FY06/07
Framework
Take Steps toward dynamic package addition.
In light of more outward focus:
(SciDAC, Boeing, ???)
Trilinos-compatibility definition or something
similar.
Define SW Lifecycle(s) and begin formalized
efforts.
Need something for external audits.
Agile vs. UP vs. hybrid.
34. FY07/08 Themes: Framework
Trilinos Level II Milestone.
Demonstrate Use of Full Vertical capabilities in Charon.
Joint licensing and copyright of development with other
organizations.
Other DOE Labs, international orgs, private companies.
Package Autonomy (reacting to rapid growth):
18 to 27 to ??
Guarding against incidental coupling.
Revisiting the location of “skins”.
Stratimikos: Uniform access to many packages.
Access from Fortran.
DOE Science Users, DOD Users.
Stratimikos focus.
Split of User vs Developer tools.
http://trilinos.sandia.gov
http://software.sandia.gov
35. Themes for FY08/09
Redefinition of Trilinos scope beyond solvers.
Next steps in packaging and distribution.
Continued outreach to other communities
Rethinking source management.
Formalizing App-Trilinos relationship.
Post-delivery maintenance improvements.
Trilinos Advisory Group.
Matrixing with software services group.
36. Themes for FY09/10
Ubiquitous availability:
Desktop to Supercomputers.
Use across DOE complex.
New directions for “Extreme Scale” computing.
Transition to Cmake and related tools.
Scalable Linear Algebra Themes:
Multicore/GPUs: Pre-requisite for extreme scale.
Multi-precision algorithms.
Many More (next talks).
37. Trilinos Availability/Information
Trilinos and related packages are available via
LGPL.
Current release is 9.0.
Unlimited availability.
Planning 9.1 release March 2009.
More information:
http://trilinos.sandia.gov
http://software.sandia.gov
Additional documentation at my website:
http://www.cs.sandia.gov/~mheroux.