Trilinos
   HOME

TheInfoList



OR:

Trilinos is a collection of
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
software libraries In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
, called ''packages'', intended to be used as building blocks for the development of scientific applications. The word "Trilinos" is Greek and conveys the idea of "a string of pearls", suggesting a number of software packages linked together by a common infrastructure. Trilinos was developed at
Sandia National Laboratories Sandia National Laboratories (SNL), also known as Sandia, is one of three research and development laboratories of the United States Department of Energy's National Nuclear Security Administration (NNSA). Headquartered in Kirtland Air Force B ...
from a core group of existing algorithms and utilizes the functionality of software interfaces such as
BLAS Blas is mainly a Spanish given name and surname, related to Blaise. It may refer to Places *Piz Blas, mountain in Switzerland * San Blas (disambiguation) People * Ricardo Blas Jr. (born 1986) Judo athlete from Guam * Blas Antonio Sáenz (fl. 18 ...
,
LAPACK LAPACK ("Linear Algebra Package") is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It als ...
, and
MPI MPI or Mpi may refer to: Science and technology Biology and medicine * Magnetic particle imaging, a tomographic technique * Myocardial perfusion imaging, a medical procedure that illustrates heart function * Mannose phosphate isomerase, an enzyme ...
. In 2004, Trilinos received an R&D100 Award. Several supercomputing facilities provide an installed version of Trilinos for their users. These include the
National Energy Research Scientific Computing Center The National Energy Research Scientific Computing Center (NERSC) is a high-performance computing (supercomputer) research facility that was founded in 1974. The National User Facility is operated by Lawrence Berkeley National Laboratory for th ...
(NERSC), Blue Waters at the
National Center for Supercomputing Applications The National Center for Supercomputing Applications (NCSA) is a unit of the University of Illinois Urbana-Champaign, and provides high-performance computing resources to researchers in the United States. NCSA is currently led by Professor Bill ...
, and the Titan supercomputer at
Oak Ridge National Laboratory Oak Ridge National Laboratory (ORNL) is a federally funded research and development centers, federally funded research and development center in Oak Ridge, Tennessee, United States. Founded in 1943, the laboratory is sponsored by the United Sta ...
.


Features

Trilinos contains packages for: * Constructing and using sparse graphs and matrices, and dense matrices and vectors. * Iterative and direct solution of
linear system In systems theory, a linear system is a mathematical model of a system based on the use of a linear operator. Linear systems typically exhibit features and properties that are much simpler than the nonlinear case. As a mathematical abstractio ...
s. * Parallel multilevel and algebraic
preconditioning In mathematics, preconditioning is the application of a transformation, called the preconditioner, that conditions a given problem into a form that is more suitable for numerical solving methods. Preconditioning is typically related to reducing ...
. * Solution of non-linear,
eigenvalue In linear algebra, an eigenvector ( ) or characteristic vector is a vector that has its direction unchanged (or reversed) by a given linear transformation. More precisely, an eigenvector \mathbf v of a linear transformation T is scaled by a ...
and time-dependent problems. * PDE-constrained optimization problems. * Partitioning and load balancing of distributed data structures. *
Automatic differentiation In mathematics and computer algebra, automatic differentiation (auto-differentiation, autodiff, or AD), also called algorithmic differentiation, computational differentiation, and differentiation arithmetic Hend Dawood and Nefertiti Megahed (2023) ...
* Discretizing partial differential equations. Trilinos supports distributed-memory parallel computation through the
Message Passing Interface The Message Passing Interface (MPI) is a portable message-passing standard designed to function on parallel computing architectures. The MPI standard defines the syntax and semantics of library routines that are useful to a wide range of use ...
(MPI). In addition, some Trilinos packages have growing support for shared-memory parallel computation. They do so by means of the Kokkos package, which provides a common C++ interface over various parallel programming models, including
OpenMP OpenMP is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems, including Solaris, ...
, POSIX Threads, and
CUDA In computing, CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated gene ...
.


Programming languages

Most Trilinos packages are written in C++. Trilinos version 12.0 and later requires C++11 support. Some Trilinos packages, like ML and Zoltan, are written in C. A few packages, like Epetra, have optional implementations of some computational kernels in Fortran, but Fortran is not required to build these packages. Some Trilinos packages have bindings for other programming languages. These include Python, C, Fortran, and MATLAB.


Software licenses

Each Trilinos package may have its own software license. Most packages are
Open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
; most of these have a
Modified BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD licen ...
, while a few packages are under the
GNU Lesser General Public License The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL). The
BLAS Blas is mainly a Spanish given name and surname, related to Blaise. It may refer to Places *Piz Blas, mountain in Switzerland * San Blas (disambiguation) People * Ricardo Blas Jr. (born 1986) Judo athlete from Guam * Blas Antonio Sáenz (fl. 18 ...
and
LAPACK LAPACK ("Linear Algebra Package") is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It als ...
libraries are required dependencies.


See also

*
BLAS Blas is mainly a Spanish given name and surname, related to Blaise. It may refer to Places *Piz Blas, mountain in Switzerland * San Blas (disambiguation) People * Ricardo Blas Jr. (born 1986) Judo athlete from Guam * Blas Antonio Sáenz (fl. 18 ...
*
LAPACK LAPACK ("Linear Algebra Package") is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It als ...
*
Message Passing Interface The Message Passing Interface (MPI) is a portable message-passing standard designed to function on parallel computing architectures. The MPI standard defines the syntax and semantics of library routines that are useful to a wide range of use ...
*
List of numerical-analysis software Listed here are notable end-user computer applications intended for use with numerical or data analysis: Numerical-software packages * Analytica is a widely used proprietary software tool for building and analyzing numerical models. It is a de ...
*
Sandia National Laboratories Sandia National Laboratories (SNL), also known as Sandia, is one of three research and development laboratories of the United States Department of Energy's National Nuclear Security Administration (NNSA). Headquartered in Kirtland Air Force B ...


References


External links

* {{official website, https://trilinos.github.io/
"Kokkos: The Programming Model"

"KOKKOS PROGRAMMING MODEL"

"Kokkos Tutorial"

Kokkos (GitHub)
*
Kokkos Tutorials
**
Kokkos Lecture Series
Numerical libraries Concurrent programming libraries Free mathematics software C++ numerical libraries