The Trilinos Community
The Trilinos Project is a community of developers, users and user-developers focused on collaborative creation of algorithms and enabling technologies within an object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific problems on new and emerging high-performance computing (HPC) architectures.
Trilinos is also a collection of reusable scientific software libraries, known in particular for linear solvers, non-linear solvers, transient solvers, optimization solvers, and uncertainty quantification (UQ) solvers.
Parallel Computing Using Trilinos
Most Trilinos algorithms and software are built upon its abilities to construct and solve sparse problems, using sparse linear solvers. These solvers rely on a collection of data structure classes and functions (kernels) for parallel linear algebra, especially parallel sparse kernels.
Trilinos Portable Parallel Execution
Trilinos is targeted for all major parallel architectures, including distributed memory using the Message Passing Interface (MPI), multicore using a variety of common approaches, accelerators using common and emerging approaches, and vectorization.
Trilinos parallel functionality is written on top of libraries that support compile-time polymorphism, such that, as long as a given algorithm and problem size contain enough latent parallelism, the same Trilinos source code can be compiled and execution on any reasonable combination of distributed, multicore, accelerator and vectorizing computing devices.
Trilinos is organized around fundamental software elements called packages. The Trilinos package architecture enables simultaneous development of many new capabilities in a federated system. Each package has its own name and identity within the research community, giving the package team recognition outside of Trilinos itself.
Trilinos Product Suites
Trilinos contains many packages, organized in five product suites:
- Data services: Vectors, matrices, graphs and similar data containers, and related operations.
- Linear and Eigenproblem solvers: For large, distributed systems of equations.
- Nonlinear solvers and analysis tools: Includes basic nonlinear approaches, continuation methods and similar.
- Discretizations: Tools for the discretization of integral and differential equations.
- Framework: Tools for building, testing and integrating Trilinos capabilities.
Related sites for Trilinos:
- If you are a new user, this is a great place to start!
- Site for the Trilinos git repository to handle open/general issues.
- Developer’s wiki.
- Site for information that Trilinos developers need to know.
Related Sandia sites for Trilinos (access limited to Sandia staff):
- Site to submit questions and requests.
- Site containing Sandia specific information related to Trilinos.
- Sandia Jira site for Trilinos strategy epics and tasks.
The 2020 Trilinos User-Developer Group (TUG) Meeting was cancelled due to the COVID-19 pandemic.
The 2019 Trilinos User-Developer Group Meeting (TUG) was held in October in Albuquerque.