ALIs

kommt noch

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.

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 (including ICE and UV)

3.0 (real), 3.0c (complex)

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

SuperMUC 3.1, 3.1_debug (real), 3.1c, 3.1c_debug (complex)

Altix systems (HLRB-II, Cluster)

2.3.3 (real, mpi), 2.3.3c (complex, mpi), 3.0 (real, mpi), 3.0c (complex, mpi)

 

Using PetSc

Before using PetSc please first load the appropriate environment module:


module load petsc

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

2.x

include ${PETSC_DIR}/bmake/common/base

3.0

include ${PETSC_DIR}/conf/base

3.1

include ${PETSC_DIR}/conf/variables

include ${PETSC_DIR}/conf/rules

 

A small archive with example programs in C and Fortran is available, which illustrates how to write your own Makefile, as well as how to insert PetSc calls into your program. Note that building and running programs must be performed with separate calls to make.

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. 

 

Using SLEPc

SLEPc can be accessed by issuing


module load petsc
module load slepc

 

and then making use of the $SLEPC_INC and $SLEPC_LIB environment variables to compile or link applications. Depending on whether the real or complex valued petsc module is loaded, different libraries are referenced via $SLEPC_LIB.

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.