Subdomain Deflation Combined with Local AMG: A Case Study Using AMGCL Library

The paper proposes a combination of the subdomain deflation method and local algebraic multigrid as a scalable distributed memory preconditioner that is able to solve large linear systems of equations. The implementation of the algorithm is made available for the community as part of an open source AMGCL library. The solution targets both homogeneous (CPU-only) and heterogeneous (CPU/GPU) systems, employing hybrid MPI/OpenMP approach in the former and a combination of MPI, OpenMP, and CUDA in the latter cases. The use of OpenMP minimizes the number of MPI processes, thus reducing the communication overhead of the deflation method and improving both weak and strong scalability of the preconditioner. The examples of scalar, Poisson-like, systems as well as non-scalar problems, stemming out of the discretization of the Navier-Stokes equations, are considered in order to estimate performance of the implemented algorithm. A comparison with a traditional global AMG preconditioner based on a well-established Trilinos ML package is provided.

[1]  Andrei Alexandrescu,et al.  Modern C++ design: generic programming and design patterns applied , 2001 .

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

[3]  Cornelis Vuik,et al.  A Comparison of Deflation and the Balancing Preconditioner , 2005, SIAM J. Sci. Comput..

[4]  Cornelis Vuik,et al.  New variants of deflation techniques for bubbly flow problems , 2006 .

[5]  Cornelis Vuik,et al.  On the Construction of Deflation-Based Preconditioners , 2001, SIAM J. Sci. Comput..

[6]  W. Davidon,et al.  Mathematical Methods of Physics , 1965 .

[7]  Denis Demidov,et al.  AMGCL: An Efficient, Flexible, and Extensible Algebraic Multigrid Implementation , 2018, Lobachevskii Journal of Mathematics.

[8]  Richard Barrett,et al.  Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods , 1994, Other Titles in Applied Mathematics.

[9]  A. Huerta,et al.  Finite Element Methods for Flow Problems , 2003 .

[10]  Cornelis Vuik,et al.  Comparison of Two-Level Preconditioners Derived from Deflation, Domain Decomposition and Multigrid Methods , 2009, J. Sci. Comput..

[11]  J. W. Ruge,et al.  4. Algebraic Multigrid , 1987 .

[12]  J. Meijerink,et al.  An Efficient Preconditioned CG Method for the Solution of a Class of Layered Problems with Extreme Contrasts in the Coefficients , 1999 .

[13]  D. R. Fokkema,et al.  BICGSTAB( L ) FOR LINEAR EQUATIONS INVOLVING UNSYMMETRIC MATRICES WITH COMPLEX , 1993 .

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

[15]  Sivasankaran Rajamanickam,et al.  Towards Extreme-Scale Simulations for Low Mach Fluids with Second-Generation Trilinos , 2014, Parallel Process. Lett..

[16]  Daniel J. Duffy The Boost C++ Libraries: Part II , 2011 .

[17]  A. Huerta,et al.  Finite Element Methods for Flow Problems , 2003 .

[18]  Stefan Turek,et al.  Efficient Solvers for Incompressible Flow Problems - An Algorithmic and Computational Approach , 1999, Lecture Notes in Computational Science and Engineering.

[19]  Van Emden Henson,et al.  Robustness and Scalability of Algebraic Multigrid , 1999, SIAM J. Sci. Comput..

[20]  Eugenio Oñate,et al.  An Object-oriented Environment for Developing Finite Element Codes for Multi-disciplinary Applications , 2010 .

[21]  Riccardo Rossi,et al.  Migration of a generic multi-physics framework to HPC environments , 2013 .

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

[23]  Oliver Bröker,et al.  Sparse approximate inverse smoothers for geometric and algebraic multigrid , 2002 .

[24]  R. Siezen,et al.  others , 1999, Microbial Biotechnology.

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

[26]  Jennifer A. Scott,et al.  New Parallel Sparse Direct Solvers for Multicore Architectures , 2013, Algorithms.

[27]  Barbara I. Wohlmuth,et al.  A quantitative performance study for Stokes solvers at the extreme scale , 2016, J. Comput. Sci..

[28]  Boris Sch Ling The Boost C++ Libraries , 2011 .

[29]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[30]  H. Elman Preconditioning strategies for models of incompressible flow , 2005 .

[31]  Pascal Hénon,et al.  PaStiX: a high-performance parallel direct solver for sparse symmetric positive definite systems , 2002, Parallel Comput..