PSPASES (Parallel SPArse Symmetric dirEct Solver)

PSPASES (Parallel SPArse Symmetric dirEct Solver) is a high performance, scalable, parallel, MPI-based library, intended for solving linear systems of equations involving sparse symmetric positive definite matrices.


PSPASES (Parallel SPArse Symmetric dirEct Solver) is a high performance, scalable, parallel, MPI-based library, intended for solving linear systems of equations involving sparse symmetric positive definite matrices. The library provides various interfaces to solve the system using four phases of direct method of solution : compute fill-reducing ordering, perform symbolic factorization, compute numerical factorization, and solve triangular systems of equations. The library efficiently implements the scalable parallel algorithms developed by the authors, to compute each of the phases [GKK , JGKK , GGJKK , KK].

PSPASES (Parallel SPArse Symmetric dirEct Solver)


  • PSPASES can be used on any parallel computer or network of workstations equipped with MPI and BLAS libraries, and Fortran 90 and C language compilers. PSPASES functions can be called from both C and Fortran 90 programs.
  • High Performance Library. Solved a million equation system in 154 seconds on Cray T3E with most computationally intensive phase clocking at 52 GFLOPS!
  • Portable to most of today's parallel computers. SGI platforms.
  • Entirely parallel and scalable code. Each of the four phases is parallelized.
  • Library functions can be called from both C and Fortran 90 codes, with simple calling sequences.
  • Memory requirements for the numerical factorization phase can be pre-estimated.
  • Concept of a communicator is used to enable solving multiple systems with same sparsity structure, or same system for multiple sets of B.
  • Command line interface provided, which supports four different matrix formats, including the Harwell-Boeing format.

Version and Operating System

  • Version: 1.0.3 (32-bit Version only)
  • Hitachi ASR8000-F1: HI-UX
  • Linux-Cluster: Linux

Compiling and Linking

  • Include-Files are located in: /usr/local/include/PSPASES, Libraries are located in: /usr/local/lib/PSPASES

Documentation and More Information


A user's manual is supplied with the distribution. It explains in detail, the formats of input and output parameters and the calling sequences for various functions provided. Here is a copy of the PSPASES user's manual [PostScript| PDF].


PSPASES related Publications

Highly Scalable Parallel Algorithms for Sparse Matrix Factorization (1995) [PostScript]
Anshul Gupta, George Karypis, and Vipin Kumar.
A High Performance Two Dimensional Scalable Parallel Algorithm for Solving Sparse Triangular Systems (1997) [PostScript] [PDF]
Mahesh Joshi, Anshul Gupta, George Karypis, and Vipin Kumar.
PSPASES: An Efficient and Scalable Parallel Sparse Direct Solver (1999) [PostScript] [PDF]
Anshul Gupta, Fred Gustavson, Mahesh Joshi, George Karypis, and Vipin Kumar.
ParMETIS related Publications.
George Karypis and Vipin Kumar.

Related Software:

PSPASES uses ParMETIS and METISas its default ordering libraries. The current release of PSPASES supplies ParMETIS and METIS libraries with the distribution. But, the versions supplied with PSPASES may not always be the latest. For their latest versions and to find more about their vast graph-partitioning related functionality, refer to the METIS site.

PSPASES uses the standard BLAS, LAPACK, and MPI library calls for its functionality. Tuned versions of these libraries are recommended to get good performance out of PSPASES.

Also, a faster version of PSPASES, with enhanced functionality, is available for the IBM SP and RS6000 systems, as WSMP. It can solve symmetric positive definite as well as indefinite systems. For more information, please visit WSMP page, and the WSMP installation at LRZ. .

Copyright, Authors, Terms

(C) Copyright IBM Corporation, 1997
(C) Copyright University of Minnesota, 1997
Written by Mahesh Joshi, U of MN, Anshul Gupta, IBM Corp., George Karypis, U of MN.

PSPASES code is meant to be used solely for educational, reasearch, and benchmarking purposes by non-profit institutions and US government agencies only. Use by any other organization requires prior written permission from both IBM Corporation and the University of Minnesota. The software may not be sold or redistributed. One may make copies of the software or modify it for their use provided that the copies, modified or otherwise, are not sold or distributed, are used under the same terms and conditions, and this notice and any part of the source code that follows this notice are not separated.

As unestablished research software, this code is provided on an ``as is'' basis without warranty of any kind, either expressed or implied, including but not limited to implied warranties of merchantability and fitness for a particular purpose. IBM does not warrant that the functions contained in this software will meet the user's requirements or that the operation of its routines will be uninterrupted or error-free. Acceptance and use of this program constitutes the user's understanding that he/she will have no recourse to IBM for any actual or consequential damages, including, but not limited to, lost profits or savings, arising out of the use or inability to use these libraries. Even if the user informs IBM of the possibility of such damages, IBM expects the user to accept the risk of any such harm, or the user shall not attempt to use these libraries for any purpose.

The downloading, compiling, or executing any part of this software constitutes an implicit agreement to these terms. These terms and conditions are subject to change at any time without prior notice.

ParMETIS and METIS, which are supplied with the PSPASES package as the default ordering libraries, are solely owned by the University of Minnesota and the above notice does not apply to them.