.. _doc_externalsoftware: *************************** Supported External Software *************************** PETSc interfaces to the following optional external software. See :ref:`installing packages ` for more information on downloading and installing these softwares, as well as the :doc:`linear solve table ` for more information on the intended use-cases for each software. List Of Software ================ .. glossary:: :sorted: `AMD `__ Approximate minimum degree orderings. `BLAS/LAPACK `__ Optimizes linear algebra kernels `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/ParMeTiS `__ A serial/parallel graph partitioner. `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 :ref:`installation ` instructions). PETSc documentation has been generated using: - `Sowing `__ - `c2html `__ - `Python `__ - `Sphinx `__