Parallel Smoothers for Matrix-Based Geometric Multigrid Methods on Locally Refined Meshes Using Multicore CPUs and GPUs

Multigrid methods are efficient and fast solvers for problems typically modeled by partial differential equations of elliptic type. We use the approach of matrix-based geometric multigrid that has high flexibility with respect to complex geometries and local singularities. Furthermore, it adapts well to the exigences of modern computing platforms. In this work we investigate multi-colored Gaus-Seidel type smoothers, the power(q)-pattern enhanced multi-colored ILU(p,q) smoothers with fill-ins, and factorized sparse approximate inverse (FSAI) smoothers. These approaches provide efficient smoothers with a high degree of parallelism. We describe the configuration of our smoothers in the context of the portable lmpLAtoolbox and the HiFlow 3 parallel finite element package. In our approach, a single source code can be used across diverse platforms including multicore CPUs and GPUs. Highly optimized implementations are hidden behind a unified user interface. Efficiency and scalability of our multigrid solvers are demonstrated by means of a comprehensive performance analysis on multicore CPUs and GPUs.

[1]  Wolfgang Hackbusch,et al.  Multi-grid methods and applications , 1985, Springer series in computational mathematics.

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

[3]  Marcus J. Grote,et al.  Parallel Preconditioning with Sparse Approximate Inverses , 1997, SIAM J. Sci. Comput..

[4]  Ulrich Rüde,et al.  Parallel Geometric Multigrid , 2006 .

[5]  Jan-Philipp Weiss,et al.  Enhanced Parallel ILU(p)-based Preconditioners for Multi-core CPUs and GPUs -- The Power(q)-pattern Method , 2011 .

[6]  Jan-Philipp Weiss,et al.  Parallel Smoothers for Matrix-based Multigrid Methods on Unstructured Meshes Using Multicore CPUs and GPUs , 2011 .

[7]  Manfred Liebmann,et al.  A Parallel Algebraic Multigrid Solver on Graphics Processing Units , 2009, HPCA.

[8]  Werner Augustin,et al.  HiFlow3: a flexible and hardware-aware parallel finite element package , 2010, POOSC '10.

[9]  Stefan Turek,et al.  Towards a complete FEM-based simulation toolkit on GPUs: Geometric Multigrid solvers , 2011 .

[10]  Jan-Philipp Weiss,et al.  A multi-platform linear algebra toolbox for finite element solvers on heterogeneous clusters , 2010, 2010 IEEE International Conference On Cluster Computing Workshops and Posters (CLUSTER WORKSHOPS).

[11]  Michael Garland,et al.  Implementing sparse matrix-vector multiplication on throughput-oriented processors , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[12]  Stefan Turek,et al.  Efficient Finite Element Geometric Multigrid Solvers for Unstructured Grids on GPUs , 2011 .

[13]  Vincent Heuveline HiFlow3: a flexible and hardware-aware parallel finite element package , 2010, POOSC '10.

[14]  L. Kolotilina,et al.  Factorized Sparse Approximate Inverse Preconditionings I. Theory , 1993, SIAM J. Matrix Anal. Appl..

[15]  Jan-Philipp Weiss,et al.  Scalable Multi-coloring Preconditioning for Multi-core CPUs and GPUs , 2010, Euro-Par Workshops.

[16]  Dominik Göddeke,et al.  Fast and accurate finite-element multigrid solvers for PDE simulations on GPU clusters , 2011 .

[17]  Arnold Reusken,et al.  Robust Parallel Smoothing for Multigrid Via Sparse Approximate Inverses , 2001, SIAM J. Sci. Comput..

[18]  A. Kallischko Modified Sparse Approximate Inverses (MSPAI) for Parallel Preconditioning , 2008 .