ALIs
kommt nochPETSC: 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.