Overview of Iterative Linear System Solver Packages

| <- Prev | Index | Next -> |
NHSE Review Home
Comments

Chapter 4 Comparison chart of features

The following chart gives some basic information about the packages. Please consult the previous section for a more detailed discussion of the individual packages.

Parallel Does the package run in parallel? All the parallel packages are based on MPI, other protocols are noted.

Iterative Does the package contain iterative methods? A few packages have preconditioners as their main focus, but suppply one or a few iterative methods for the user who doesn't have any yet.

Prec Does the package contain preconditioners?

Data How does the package interface to user data? See note 3 below.

Lang What is the implementation language of the package?

Inst Is the library instrumented, reporting on flops and timing?
 
 
 
 
 
Package Parallel Iter Prec Data Language Inst
Aztec yes yes yes internal 3a C yes
BlockSolve95 yes yes 1 yes internal 3a C yes
BPKIT no yes 1 yes internal 3b C++ 8 no
IML n/a 2 yes yes 9 supplied C++ -
Itpack no yes yes 7 prescribed Fortran no
Laspack no yes yes internal C -
ParPre yes no yes internal 4 C -
PCG coming yes yes prescribed/
supplied/free
Fortran -
Petsc yes yes yes internal/supplied C 8 yes
PIM n/a 2 yes no free Fortran -
PSparselib yes yes yes free Fortran no
SPAI yes yes 1 yes - C -
SPlib no yes yes prescribed Fortran -
templates no yes no 5 supplied 6/free Fortran/C
Matlab
-

 
 
 
 
 
 

Footnotes
1 Not the main focus of this package.

2 The library abstracts away from data structure implementation aspects; parallelism is possible, but is the user's responsibility.

3 For the explanation of terms `internal', `prescribed', `supplied', and `free', see section 2.2.1.
3a converted from compressed row format.
3b converted from Harwell-Boeing format.

4 Identical to Petsc format.

5 Nothing beyond Jacobi.

6 The external product and solve routines are presumed to find the matrix in a common block.

7 Can not be chosen independently of the iterative method: the user picks a combination.

8 Fortran interface provided.

9 Preconditioners provided in an example C++ matrix class library, SparseLib++.
 

Copyright © 1998



 
 
 
 
 
| <- Prev | Index | Next -> |
NHSE Review Home
Comments