overlapping partitioning and applications to
play

Overlapping Partitioning and Applications to Preconditioning David - PowerPoint PPT Presentation

Overlapping Partitioning and Applications to Preconditioning David Fritzsche 1 , Andreas Frommer 1 , Daniel B. Szyld 2 1 Bergische Universit at Wuppertal, Germany 2 Temple University, Philadelphia, USA 8th GAMM Workshop on Applied and Numerical


  1. Overlapping Partitioning and Applications to Preconditioning David Fritzsche 1 , Andreas Frommer 1 , Daniel B. Szyld 2 1 Bergische Universit¨ at Wuppertal, Germany 2 Temple University, Philadelphia, USA 8th GAMM Workshop on Applied and Numerical Linear Algebra September 11–12 2008, Hamburg-Harburg, Germany AI

  2. AI Introduction Outline PABLO Introduction Schwarz Methods Iterative Solvers & Preconditioners Partitioning with OPABLO Block Gauss-Seidel Preconditioning Numerical Results Conclusions Outline ◮ Introduction ◮ Iterative Solvers and Preconditioners (esp. Block Gauss-Seidel Preconditioning) ◮ preconditioning with PABLO ◮ Schwarz Methods ◮ Algebraic Schwarz Methods ◮ Graph partitioning / preconditioning with PABLO ◮ Adding Overlap ◮ Numerical Results Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 2/33

  3. AI Introduction Outline PABLO Introduction Schwarz Methods Iterative Solvers & Preconditioners Partitioning with OPABLO Block Gauss-Seidel Preconditioning Numerical Results Conclusions Introduction We consider the linear system Ax = b where A ∈ R n × n is large , sparse and non-symmetric . In this talk ◮ We solve it using preconditioned, restarted GMRES ◮ We show how to permute and partition A to obtain diagonal blocks with overlap to produce an effective preconditioner, based on algebraic Schwarz methods Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 3/33

  4. AI Introduction Outline PABLO Introduction Schwarz Methods Iterative Solvers & Preconditioners Partitioning with OPABLO Block Gauss-Seidel Preconditioning Numerical Results Conclusions Outline ◮ Schwarz Methods ◮ Algebraic Schwarz Methods ◮ Graph partitioning / preconditioning with PABLO ◮ Adding Overlap ◮ Numerical Results Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 4/33

  5. AI Introduction Outline PABLO Introduction Schwarz Methods Iterative Solvers & Preconditioners Partitioning with OPABLO Block Gauss-Seidel Preconditioning Numerical Results Conclusions Iterative Solvers and Preconditioners Problem: In many applications Ax = b can not be solved directly. � iterative solvers (Jacobi, CG, GMRES, . . . ), Here: GMRES. GMRES finds an approximate solution x n = argmin x ′ ∈ K n � Ax ′ − b � where K n = span { b , Ab , A 2 b , . . . , A n − 1 b } . Next Problem: Convergence of iterative solvers is often slow. � preconditioning , Here: left preconditioning. Left Preconditioning: Find M − 1 ≈ A − 1 and replace Ax − b by the equivalent system M − 1 Ax = M − 1 b Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 5/33

  6. AI Introduction Outline PABLO Introduction Schwarz Methods Iterative Solvers & Preconditioners Partitioning with OPABLO Block Gauss-Seidel Preconditioning Numerical Results Conclusions Block Gauss-Seidel Preconditioning Suppose A has the q × q block structure   · · · A 11 A 1 q . . ... . . A =  .   . .  · · · A q 1 A qq Let now D , L and U be the block diagonal, block lower triangular and block upper triangular part of A . Block Gauss-Seidel: Choose M = D + L . Then M − 1 Ax = M − 1 b becomes ( L + D ) − 1 Ax = ( L + D ) − 1 b . Very little additional cost since M − 1 Ax = ( L + D ) − 1 Ax = ( I + ( L + D ) − 1 U ) x Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 6/33

  7. AI Introduction Finding a “good” block structure PABLO How PABLO works Schwarz Methods Example: GARON1 Partitioning with OPABLO Numerical Results Conclusions Finding a “good” block structure Problems: ◮ What is a “good” block structure? ◮ How to find a “good” block structure? What is a “good” block structure? Heuristic (inspired on a Theorem in [Varga,1962]): The block structure is “good” if ◮ The diagonal blocks A ii are quite full and contain most (all) large entries of the matrix. ◮ The off-diagonal blocks are sparse and contain only small entries. Then the block diagonal D is a “good” approximation of A . How to find a “good” block structure? � Find a partitioning of the graph of A Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 7/33

  8. AI Introduction Finding a “good” block structure PABLO How PABLO works Schwarz Methods Example: GARON1 Partitioning with OPABLO Numerical Results Conclusions Preconditioning with PABLO, part I PABLO ( PA ramterized BL ock O rdering) is a simple algorithm for graph partitioning. Basic features: ◮ Builds only one block at a time ◮ Considers only one vertex at a time for inclusion ◮ Checks all adjacent vertices for inclusion ◮ PABLO tries to put large matrix entries into the diagonal blocks. ◮ Time complexity is O ( n + nnz( A )): PABLO is fast [Fritzsche, Frommer, and Szyld, 2007] Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 8/33

  9. AI Introduction Finding a “good” block structure PABLO How PABLO works Schwarz Methods Example: GARON1 Partitioning with OPABLO Numerical Results Conclusions How PABLO works Situation: Check vertex i for inclusion into block A 33 A 11 A 22 A 33 ← row i ← column i Several Criteria: ◮ Fullness: The blue part is “full” enough ◮ Connectivity: More entries in the blue part than in the green part ◮ Threshold: We want large entries in the blue part Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 9/33

  10. AI Introduction Finding a “good” block structure PABLO How PABLO works Schwarz Methods Example: GARON1 Partitioning with OPABLO Numerical Results Conclusions Preconditioning with PABLO, part II PABLO needs to know which matrix entries are large. Preprocessing ◮ Scaling and permuting A into an I -matrix using MC64, i.e., compute permutation matrix P and scaling matrices R and C such that ( PRAC ) ii = 1 for i = 1 , . . . , n ( PRAC ) ij ≤ 1 for i � = j Set A ← PRAC ◮ Numerical experiments have shown that this kind of scaling is crucial to get good results with PABLO [Duff and Koster, 1999 and 2001] Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 10/33

  11. AI Introduction Finding a “good” block structure PABLO How PABLO works Schwarz Methods Example: GARON1 Partitioning with OPABLO Numerical Results Conclusions PABLO Example: GARON1 1 800 1600 2400 3175 1 800 1600 2400 3175 24 1 8.8e − 3 0.073 0 0 Left: Original matrix; Right: The matrix scaled by MC64, but not yet permuted to be an I -matrix Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 11/33

  12. AI Introduction Finding a “good” block structure PABLO How PABLO works Schwarz Methods Example: GARON1 Partitioning with OPABLO Numerical Results Conclusions PABLO Example: GARON1 1 800 1600 2400 3175 1 800 1600 2400 3175 1 1 0.073 0.073 0 0 Left: After scaling and permuting by MC64 ( I -matrix); Right: The matrix after the PABLO permutation Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 12/33

  13. AI Introduction Finding a “good” block structure PABLO How PABLO works Schwarz Methods Example: GARON1 Partitioning with OPABLO Numerical Results Conclusions PABLO Example: GARON1 GMRES convergence (n=3175) [Garon/garon1] 0 10 −2 10 No Preconditioner Gauss Seidel relative residuals Block Gauss−Seidel −4 10 −6 10 −8 10 0 10 20 30 40 50 60 70 80 90 100 iterations Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 13/33 Note: The matrix is always scaled and permuted by MC64

  14. AI Introduction Schwarz Alternating Method PABLO Multiplicative Schwarz Method Schwarz Methods Algebraic Schwarz Methods Partitioning with OPABLO Schwarz Preconditioning Numerical Results Conclusions Schwarz Alternating Method Schwarz introduced in 1870 an alternating method for solving partial differential equations on irregular domains. Setting: Let Ω be the union of the “regular” shaped subdomains ✬✩ Ω i , i = 1 , . . . , m Ω 1 Ω 2 domain Ω ✫✪ Schwarz alternating method: ◮ Solve the PDE on Ω i , i = 1 , . . . , m For ∂ Ω i \ ∂ Ω use interior values of a different subdomain ◮ Repeat until convergence [Toselli and Widlund, 2005] Overlapping Partitioning and Applications to Preconditioning, David Fritzsche1, Andreas Frommer1, Daniel B. Szyld2 14/33

Recommend


More recommend