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: