MLD2P4: A Package of Parallel Algebraic Multilevel Domain Decomposition Preconditioners in Fortran 95

Domain decomposition ideas have long been an essential tool for the solution of PDEs on parallel computers. In recent years many research efforts have been focused on recursively employing domain decomposition methods to obtain multilevel preconditioners to be used with Krylov solvers. In this context, we developed MLD2P4 (MultiLevel Domain Decomposition Parallel Preconditioners Package based on PSBLAS), a package of parallel multilevel preconditioners that combines additive Schwarz domain decomposition methods with a smoothed aggregation technique to build a hierarchy of coarse-level corrections in an algebraic way. The design of MLD2P4 was guided by objectives such as extensibility, flexibility, performance, portability, and ease of use. They were achieved by following an object-based approach while using the Fortran 95 language, as well as by employing the PSBLAS library as a basic framework. In this article, we present MLD2P4 focusing on its design principles, software architecture, and use.

[1]  James Demmel,et al.  A Supernodal Approach to Sparse Partial Pivoting , 1999, SIAM J. Matrix Anal. Appl..

[2]  R.D. Falgout,et al.  An Introduction to Algebraic Multigrid Computing , 2006, Computing in Science & Engineering.

[3]  Marian Brezina,et al.  A Black-Box Iterative Solver Based on a Two-Level Schwarz Method , 1999, Computing.

[4]  Daniela di Serafino,et al.  Scalable algebraic multilevel preconditioners with application to CFD , 2010 .

[5]  Michele Colajanni,et al.  PSBLAS: a library for parallel linear algebra computation on sparse matrices , 2000, TOMS.

[6]  Marian Brezina,et al.  Energy Optimization of Algebraic Multigrid Bases , 1998, Computing.

[7]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[8]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[9]  James Demmel,et al.  An Asynchronous Parallel Supernodal Algorithm for Sparse Gaussian Elimination , 1997, SIAM J. Matrix Anal. Appl..

[10]  Iain S. Duff,et al.  An overview of the sparse basic linear algebra subprograms: The new standard from the BLAS technical forum , 2002, TOMS.

[11]  A. Brandt Multiscale Scientific Computation: Review 2001 , 2002 .

[12]  Ray S. Tuminaro,et al.  A New Petrov--Galerkin Smoothed Aggregation Preconditioner for Nonsymmetric Linear Systems , 2008, SIAM J. Sci. Comput..

[13]  Timothy A. Davis,et al.  Algorithm 832: UMFPACK V4.3---an unsymmetric-pattern multifrontal method , 2004, TOMS.

[14]  Randolph E. Bank,et al.  Sparse matrix multiplication package (SMMP) , 1993, Adv. Comput. Math..

[15]  V. E. Henson,et al.  BoomerAMG: a parallel algebraic multigrid solver and preconditioner , 2002 .

[16]  John N. Shadid,et al.  Official Aztec user''s guide: version 2.1 , 1999 .

[17]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[18]  Y. Saad,et al.  Overlapping Domain Decomposition Algorithms for General Sparse Matrices , 1996, Numer. Linear Algebra Appl..

[19]  D. Brandt,et al.  Multi-level adaptive solutions to boundary-value problems math comptr , 1977 .

[20]  David E. Keyes,et al.  Think Globally , Act Locally : An Introduction to Domain-based Parallelism and Problem Decomposition Methods , 2003 .

[21]  David E. Keyes,et al.  Domain-Based Parallelism and Problem Decomposition Methods in Computational Science and Engineering , 1995 .

[22]  Victor Eijkhout,et al.  Performance Optimization and Modeling of Blocked Sparse Kernels , 2007, Int. J. High Perform. Comput. Appl..

[23]  Yousef Saad,et al.  Overlapping Domain Decomposition Algorithms for General Sparse Matrices , 1996, Numer. Linear Algebra Appl..

[24]  Daniela di Serafino,et al.  2LEV-D2P4: a package of high-performance preconditioners for scientific and engineering applications , 2007, Applicable Algebra in Engineering, Communication and Computing.

[25]  Marian Brezina,et al.  Algebraic multigrid by smoothed aggregation for second and fourth order elliptic problems , 2005, Computing.

[26]  Ray S. Tuminaro,et al.  Parallel Smoothed Aggregation Multigrid : Aggregation Strategies on Massively Parallel Machines , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[27]  Tamara G. Kolda,et al.  An overview of the Trilinos project , 2005, TOMS.

[28]  Masha Sosonkina,et al.  pARMS : A Package for the Parallel Iterative Solution of General Large Sparse Linear System ∗ User ’ s Guide , 2006 .

[29]  M. Gander,et al.  Why Restricted Additive Schwarz Converges Faster than Additive Schwarz , 2003 .

[30]  Daniela di Serafino,et al.  On the development of PSBLAS-based parallel two-level Schwarz preconditioners , 2007 .

[31]  Robert Strzodka,et al.  Using GPUs to improve multigrid solver performance on a cluster , 2008, Int. J. Comput. Sci. Eng..

[32]  O. Widlund Domain Decomposition Algorithms , 1993 .

[33]  Yousef Saad,et al.  Iterative methods for sparse linear systems , 2003 .

[34]  Robert D. Falgout,et al.  The Design and Implementation of hypre, a Library of Parallel High Performance Preconditioners , 2006 .

[35]  K. Stuben,et al.  Algebraic Multigrid (AMG) : An Introduction With Applications , 2000 .

[36]  Barry F. Smith,et al.  Domain Decomposition: Parallel Multilevel Methods for Elliptic Partial Differential Equations , 1996 .

[37]  D FalgoutRobert An Introduction to Algebraic Multigrid , 2006 .

[38]  Jonathan J. Hu,et al.  ML 5.0 Smoothed Aggregation Users's Guide , 2006 .

[39]  T. Chan,et al.  Domain decomposition algorithms , 1994, Acta Numerica.

[40]  R. C. Whaley,et al.  LAPACK Working Note 94: A User''s Guide to the BLACS v1.0 , 1995 .

[41]  Xiao-Chuan Cai,et al.  A Restricted Additive Schwarz Preconditioner for General Sparse Linear Systems , 1999, SIAM J. Sci. Comput..

[42]  Iain S. Duff,et al.  Level 3 basic linear algebra subprograms for sparse matrices: a user-level interface , 1997, TOMS.

[43]  Vivek Sarin,et al.  Domain Decomposition , 2011, Encyclopedia of Parallel Computing.

[44]  Daniela di Serafino,et al.  Extending PSBLAS to Build Parallel Schwarz Preconditioners , 2004, PARA.