Aztec: a parallel iterative package for unstructured applications
R. S. Tuminaro, S. A. Hutchinson, J. N. Shadid,
Sandia National Laboratories
Albuquerque, New Mexico 87185
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.