![]()
Applications
|
PETSc | |||||||
|
PETSc, the Portable, Extensible Toolkit for Scientific computation, provides sets of tools for the parallel (as well as serial), numerical solution of PDEs that require solving large-scale, sparse nonlinear systems of equations. PETSc includes nonlinear and linear equation solvers that employ a variety of Newton techniques and Krylov subspace methods. PETSc provides several parallel sparse matrix formats, including compressed row, block compressed row, and block diagonal storage. The table below gives an overview of the main numerical components of the PETSc library:
PETSc is designed to facilitate extensibility. Thus, users can incorporate customized solvers and data structures when using the package. PETSc also provides an interface to several external software packages including BlockSolve95, ESSL, Matlab, ParMeTis, PVODE, and SPAI. PETSc is fully usable from Fortran, C and C++, and runs on most UNIX based-systems. PETSc has several features that make it very convenient for the application programmer. Users can create complete application programs for the parallel solution of nonlinear PDEs without writing much explicit message-passing code themselves. Parallel vectors and sparse matrices can be easily and efficiently assembled through the mechanisms provided by PETSc. Furthermore, PETSc enables a great deal of runtime control for the user without any additional coding cost. The runtime options include control over the choice of solvers, preconditioners and problem parameters as well as the generation of performance logs. PETSc is intended for use in large-scale application projects, and several ongoing computational science projects at Argonne National Laboratory and other institutions are built around the PETSc framework. PETSc is in widespread general use throughout the high performance computing community, and is now included by Sun in its high performance computing software package. It is well supported by the developers. The images in the left panel come from applications that
use
PETSc. Click on the small icons to display the full image (a new window
will open). PETSc was developed at Argonne National Laboratory, in the Mathematics and Computer Science Division, as a general purpose suite of tools for the scalable solution of partial differential equations and related problems. The PETSc team continues to enhance PETSc with new functionality and improved performance. Its principal developers are Satish Balay, Kris Buschelman, Bill Gropp, Dinesh Kaushik, Lois Curfman McInnes and Barry Smith. |
||||||||
|
||||||||