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 Software

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 Packages

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.

Trilinos Getting Started

  • If you are a new user, this is a great place to start!

Trilinos Repository

  • Site for the Trilinos git repository to handle open/general issues.
  • Developer's wiki.

Trilinos Developers Site

  • Site for information that Trilinos developers need to know.

Sandia Trilinos Help Desk

Sandia Trilinos Portal

  • Primary site containing Sandia specific information related to Trilinos.
  • Link to the SRN Trilinos Portal

Sandia Trilinos Strategy Planning

  • Sandia Jira site for Trilinos strategy epics and tasks.

Trilinos User-Developer Group (TUG) Meetings

European Trilinos User Group (EuroTUG) Meetings