Skip to main content
`Ctrl`+`K`

# Supported External Software

PETSc interfaces with many optional external software packages. See installing packages for more information on downloading and installing these software, as well as the linear solver table for more information on the intended use-cases for each software.

## Partial List Of Software

- AMD Approximate minimum degree orderings.

- BLAS/LAPACK Optimizes linear algebra kernels (always available).

- CUDA A parallel computing platform and application programming interface model created by NVIDIA.

- Chaco A graph partitioning package.

- 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.

- MUMPS MUltifrontal Massively Parallel sparse direct Solver.

- MeTis and ParMeTiS serial/parallel graph partitioners.

- 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.

- 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.

- SuiteSparse, including KLU, UMFPACK, and CHOLMOD Sparse direct solvers, developed by Timothy A. Davis.

- 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:

- Sowing

- c2html

- Python

- Sphinx