PETSC: Portable, Extensible Toolkit for Scientific Computation

PETSc is a suite of data structures and routines for the scalable parallel solution of scientific applications modeled by partial differential equations.

Overview and Purpose

PetSc is a suite of data structures and routines for the scalable parallel solution of scientific applications modeled by partial differential equations. It employs the MPI standard for all message-passing communication, but can also be run in serial mode. Many scientific applications use PetSc, and various papers and talks demonstrate the features of the PetSc libraries.

Current Developers of the Library

Satish Balay, Kris Buschelman, Victor Eijkhout, William Gropp, Dinesh Kaushik, Matthew Knepley, Lois Curfman McInnes, Barry Smith, Hong Zhang
Mathematics and Computer Science Division
Argonne National Laboratory

Add-on libraries: SLEPc

SLEPc is a library for the solution of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for either standard or generalized eigenproblems, with real or complex arithmetic.

However, due to very little usage during the recent past LRZ support decided to provide PETSc without any add-ons. Please contact Servicedesk if you need help in this regard.

Supported Platforms at LRZ

All versions of PetSc have been built for parallel execution and therefore require that a suitable MPI environment is loaded prior to usage (see below). The same applies for SLEPc.

Platform

Installed version

Linux Cluster (CoolMUC2 only)

3.7, 3.7_debug (real), 3.7c, 3.7c_debug (complex): Intel MPI only

3.6, 3.6_debug (real), 3.6c, 3.6c_debug (complex): Intel MPI only

SuperMUC

3.7, 3.7_debug (real), 3.7c, 3.7c_debug (complex)

3.6, 3.6_debug (real), 3.6c, 3.6c_debug (complex)

 

Using PetSc

A prerequisite for using PetSc is that a supported MPI module must be loaded: mpi.intel/5.1 (CoolMUC2 or SuperMUC), mpi.ibm (SuperMUC).

In order to access the PetSc installation, please load the appropriate environment module with an explicit version number specification:


module load petsc/3.7

Then, the include files for a make-controlled build process are available in a subdirectory of ${PETSC_DIR}. The following table illustrates which files should be included depending on the PetSc version in use.

 

Version of PetSc

include line for Makefile

3.7 & 3.6

include ${PETSC_LIB)

include ${PETSC_INC}

 

Starting up programs

Since MPI is integrated into the libraries, it is necessary to use the startup mechanism specific to the used MPI implementation. Please consult the MPI document for an overview. 

 

Support for LRZ PetSc installations

Please contact the HPC support team via the Service Desk if you have questions or problems concerning the usage of the PETSc library.

Further Information

  • Overview of PETSC From there, the source distribution as well as documentation are available.

  • SLEPc home page with links to documentation and source distribution.