Supported External Software#

PETSc interfaces to the following optional external software. See installing packages for more information on downloading and installing these softwares, as well as the linear solve table for more information on the intended use-cases for each software.

List Of Software#

AMD#

Approximate minimum degree orderings.

BLAS/LAPACK#

Optimizes linear algebra kernels

Chaco#

A graph partitioning package.

CUDA#

A parallel computing platform and application programming interface model created by Nvidia.

ESSL#

IBM’s math library for fast sparse direct LU factorization.

FFTW#

Fastest Fourier Transform in the West, developed at MIT by Matteo Frigo and Steven G. Johnson.

Git#

Distributed version control system

HDF5#

A data model, library, and file format for storing and managing data.

Hypre#

LLNL preconditioner library.

Kokkos#

A programming model in C++ for writing performance portable applications targeting all major HPC platforms.

LUSOL#

Sparse LU factorization and solve portion of MINOS, Michael Saunders, Systems Optimization Laboratory, Stanford University.

Mathematica#

A general multi-paradigm computational language developed by Wolfram Research.

MATLAB#

A proprietary multi-paradigm programming language and numerical computing environment developed by MathWorks.

MeTis/ParMeTiS#

A serial/parallel graph partitioner.

MUMPS#

MUltifrontal Massively Parallel sparse direct Solver.

Party#

A graph partitioning package.

PaStiX#

A parallel LU and Cholesky solver package.

PTScotch#

A graph partitioning package.

SPAI#

Parallel sparse approximate inverse preconditioning.

SPRNG#

The Scalable Parallel Random Number Generators Library.

SuiteSparse, including KLU, UMFPACK, and CHOLMOD#

Sparse direct solvers, developed by Timothy A. Davis.

Sundial/CVODE#

The LLNL SUite of Nonlinear and DIfferential/ALgebraic equation Solvers.

SuperLU and SuperLU_Dist#

Robust and efficient sequential and parallel direct sparse solves.

Trilinos/ML#

Multilevel Preconditioning Package. Sandia’s main multigrid preconditioning package.

ViennaCL#

Linear algebra library providing matrix and vector operations using OpenMP, CUDA, and OpenCL.

Additional Software#

PETSc contains modifications of routines from:

  • LINPACK (matrix factorization and solve; converted to C using f2c and then hand-optimized for small matrix sizes)

  • MINPACK (sequential matrix coloring routines for finite difference Jacobian evaluations; converted to C using f2c)

  • SPARSPAK (matrix reordering routines, converted to C using f2c, this is the PUBLIC DOMAIN version of SPARSPAK)

  • libtfs (the scalable parallel direct solver created and written by Henry Tufo and Paul Fischer).

Instrumentation of PETSc:

  • PETSc can be instrumented using the TAU package (check installation instructions).

PETSc documentation has been generated using: