Aztec: a parallel iterative package for unstructured applications



R. S. Tuminaro, S. A. Hutchinson, J. N. Shadid,

Sandia National Laboratories
Albuquerque, New Mexico 87185

Abstract

We describe a parallel linear system package, AZTEC. This package incorporates a number of parallel iterative methods (e.g. GMRES, biCGSTAB, CGS, TFQMR) and preconditioners (e.g. Jacobi, Gauss-Seidel, polynomial, domain decomposition with LU, ILU, or ILUT within subdomains). Currently, a number of different users are using this package to solve a variety of PDE applications both in a linear setting and as part of a Newton-Krylov scheme for nonlinear problems.

In this talk we will discuss Aztec's efficiency and Aztec's user interface to facilitate parallel programming. Ease-of-use is attained using the notion of a global distributed matrix. The global distributed matrix allows a user to specify pieces (different rows for different processors) of an application matrix exactly as in the serial setting. Efficiency is achieved by using a transformation function which rewrites the user supplied matrix into one more convenient for efficient distributed memory computing (locally numbered entries, ghost variables, grouped messages). High performance is attained using both efficient communication schemes as well as efficient dense matrix algorithms for block sparse matrices.

Finally, we discuss preconditioning schemes currently used in Aztec and some future directions that we are exploring.