Table of Contents
Fetching ...

Trilinos: Enabling Scientific Computing Across Diverse Hardware Architectures at Scale

Matthias Mayr, Alexander Heinlein, Christian Glusa, Siva Rajamanickam, Maarten Arnst, Roscoe Bartlett, Luc Berger-Vergiat, Erik Boman, Karen Devine, Graham Harper, Michael Heroux, Mark Hoemmen, Jonathan Hu, Brian Kelley, Kyungjoo Kim, Drew P. Kouri, Paul Kuberry, Kim Liegeois, Curtis C. Ober, Roger Pawlowski, Carl Pearson, Mauro Perego, Eric Phipps, Denis Ridzal, Nathan V. Roberts, Christopher Siefert, Heidi Thornquist, Romin Tomasetti, Christian R. Trott, Raymond S. Tuminaro, James M. Willenbring, Michael M. Wolf, Ichitaro Yamazaki

TL;DR

This paper updates the overview of Trilinos, presenting a performance-portable, modular framework for scalable, multiscale, multiphysics simulations across diverse hardware. It details the Kokkos-based stack that enables single-source performance across CPUs and GPUs, and delineates the five product areas (Core, Linear Solvers and Preconditioners, Nonlinear Solvers and Analysis Tools, Discretization Tools, Framework) along with key packages. The work highlights architectural abstractions (e.g., Tpetra, Thyra, Belos, MueLu, Panzer, Intrepid2, Sacado, Stokhos) and the software engineering practices that support robust, scalable scientific computing, including community governance and continuous integration. The significance lies in Trilinos' ability to deliver performance-portable solvers, discretization tools, and analysis capabilities at scale, while fostering a collaborative ecosystem for continued evolution with emerging HPC architectures. Overall, Trilinos is positioned as a cornerstone framework for next-generation computational science, balancing rigorous numerical capabilities with flexible deployment across heterogeneous hardware.

Abstract

Trilinos is a community-developed, open-source software framework that facilitates building large-scale, complex, multiscale, multiphysics simulation code bases for scientific and engineering problems. Since the Trilinos framework has undergone substantial changes to support new applications and new hardware architectures, this document is an update to ``An Overview of the Trilinos project'' by Heroux et al. (ACM Transactions on Mathematical Software, 31(3):397-423, 2005). It describes the design of Trilinos, introduces its new organization in product areas, and highlights established and new features available in Trilinos. Particular focus is put on the modernized software stack based on the Kokkos ecosystem to deliver performance portability across heterogeneous hardware architectures. This paper also outlines the organization of the Trilinos community and the contribution model to help onboard interested users and contributors.

Trilinos: Enabling Scientific Computing Across Diverse Hardware Architectures at Scale

TL;DR

This paper updates the overview of Trilinos, presenting a performance-portable, modular framework for scalable, multiscale, multiphysics simulations across diverse hardware. It details the Kokkos-based stack that enables single-source performance across CPUs and GPUs, and delineates the five product areas (Core, Linear Solvers and Preconditioners, Nonlinear Solvers and Analysis Tools, Discretization Tools, Framework) along with key packages. The work highlights architectural abstractions (e.g., Tpetra, Thyra, Belos, MueLu, Panzer, Intrepid2, Sacado, Stokhos) and the software engineering practices that support robust, scalable scientific computing, including community governance and continuous integration. The significance lies in Trilinos' ability to deliver performance-portable solvers, discretization tools, and analysis capabilities at scale, while fostering a collaborative ecosystem for continued evolution with emerging HPC architectures. Overall, Trilinos is positioned as a cornerstone framework for next-generation computational science, balancing rigorous numerical capabilities with flexible deployment across heterogeneous hardware.

Abstract

Trilinos is a community-developed, open-source software framework that facilitates building large-scale, complex, multiscale, multiphysics simulation code bases for scientific and engineering problems. Since the Trilinos framework has undergone substantial changes to support new applications and new hardware architectures, this document is an update to ``An Overview of the Trilinos project'' by Heroux et al. (ACM Transactions on Mathematical Software, 31(3):397-423, 2005). It describes the design of Trilinos, introduces its new organization in product areas, and highlights established and new features available in Trilinos. Particular focus is put on the modernized software stack based on the Kokkos ecosystem to deliver performance portability across heterogeneous hardware architectures. This paper also outlines the organization of the Trilinos community and the contribution model to help onboard interested users and contributors.

Paper Structure

This paper contains 46 sections, 1 figure.

Figures (1)

  • Figure 1: Organization of the Trilinos library into five product areas and their packages: Product areas are labeled in bold font with their respective packages. Snapshotted packages described in this paper are marked by dashed boxes.