CADD: Component-Averaged Domain Decomposition Dan Gordon Computer Science University of Haifa Rachel Gordon Aerospace Engg. Technion January 13, Component-Averaged Domain Decomposition
January 13, 2008 Component-Averaged Domain Decomposition 2 Outline of Talk CADD – Algebraic explanation CADD – DD explanation The Kaczmarz algorithm (KACZ) KACZ CARP (a CADD method) Applications of CARP CARP-CG: CG acceleration of CARP Sample results
January 13, 2008 Component-Averaged Domain Decomposition 3 CADD – Algebraic Explanation – 1 The equations are divided into blocks (not necessarily disjoint) Initial estimate: vector x=(x 1,…,x n ) Suppose x 1 is a variable (component of x) that appears in 3 blocks x 1 is “cloned” as y 1, z 1, t 1 in the different blocks. Perform one (or more) iterative operation(s) on each block (independently, in parallel)
January 13, 2008 Component-Averaged Domain Decomposition 4 CADD – Algebraic Explanation – 2 The internal iterations in each block produce 3 new values for the clones of x 1 : y 1 ’, z 1 ’, t 1 ’ The next iterative value of x 1 is x 1 ’ = (y 1 ’ + z 1 ’ + t 1 ’)/3 The next iterate is x’ = (x 1 ’,..., x n ’) Repeat iterations as needed for convergence
January 13, 2008 Component-Averaged Domain Decomposition 5 CADD – non-overlapping domains xx y domain A domain B external grid point of A clone of x 1
January 13, 2008 Component-Averaged Domain Decomposition 6 CADD – overlapping domains xx y 01 1 domain A domain B external grid point of A clone of x 1 A∩BA∩BA∩BA∩B
January 13, 2008 Component-Averaged Domain Decomposition 7 CADD – Parallel Implementation Every processor is in charge of one domain Mode: BLOCK-PARALLEL –All processors operate in parallel (each on its domain) –Processors exchange clone values –All values are updated –New values = average of clones
January 13, 2008 Component-Averaged Domain Decomposition 8 CADD Vs. Standard DD Methods Difference is in handling external grid points: CADD: A clone of the external grid point is modified by the domain's equations and contributes to new value of grid point. Standard DD: Value of external grid point is fixed (contributes to RHS)
January 13, 2008 Component-Averaged Domain Decomposition 9 KACZ: The Kaczmarz algorithm Iterative method, due to Kaczmarz (1937). Rediscovered for CT as ART Basic idea: Consider the hyperplane defined by each equation Start from an arbitrary initial point Successively project current point onto the next hyperplane, in cyclic order
January 13, 2008 Component-Averaged Domain Decomposition 10 KACZ: Geometric Description eq. 1 eq. 2 eq. 3 initial point
January 13, 2008 Component-Averaged Domain Decomposition 11 KACZ with Relaxation Parameter KACZ can be used with a relaxation parameter λ λ=1: project exactly on the hyperplane λ<1: project in front of hyperplane λ>1: project beyond the hyperplane Cyclic relaxation: Eq. i is assigned a relaxation parameter λ i
January 13, 2008 Component-Averaged Domain Decomposition 12 Convergence Properties of KACZ KACZ with relaxation (0< λ <2) converges for consistent systems: –Herman, Lent & Lutz, 1978 –Trummer, 1981 For inconsistent systems, KACZ converges cyclically: –Tanabe, 1971 –Eggermont, Herman & Lent, 1981 (for cyclic relaxation parameters).
January 13, 2008 Component-Averaged Domain Decomposition 13 Another view of KACZ Given the systemAx = b Consider the "normal equations" systemAA T y = b, x=A T y Well-known: KACZ is simply SOR applied to the normal equations The relaxation parameter of KACZ is the usual relax. par. of SOR
January 13, 2008 Component-Averaged Domain Decomposition 14 CARP: Component-Averaged Row Projections CARP is a CADD method with KACZ iterations in each domain: The system Ax=b is divided into blocks B 1,…,B n (need not be disjoint) Each processor is assigned one (or more) block All the blocks are processed in parallel Results from blocks are “merged” to form the next iterate Merging is done by CADD averaging
January 13, 2008 Component-Averaged Domain Decomposition 15 Overview of CARP domain A domain B KACZiterationsKACZiterations averaging cloning KACZ in superspace (with cyclic relaxation)
January 13, 2008 Component-Averaged Domain Decomposition 16 Convergence of CARP Averaging Lemma: the component- averaging and cloning operations of CARP are equivalent to KACZ row- projections in a certain superspace (with λ = 1) CARP is equivalent to KACZ in the superspace, with cyclic relaxation parameters – known to converge
January 13, 2008 Component-Averaged Domain Decomposition 17 "Historical" Note The term "component averaging" was first used by Censor, Gordon & Gordon (2001) for CAV and BICAV, used for image reconstruction in CT These are Cimmino-type algorithms, with weights related to the sparsity of the system matrix CADD, CARP use this concept in a different sense
January 13, 2008 Component-Averaged Domain Decomposition 18 CARP Application: Solution of stiff linear systems from PDEs Elliptic PDEs w/large convection term result in stiff linear systems (large off-diagonal elements) CARP is very robust on these systems, as compared to leading solver/preconditioner combinations Downside: Not always efficient
January 13, 2008 Component-Averaged Domain Decomposition 19 CARP Application: Electron Tomography (joint work with J.-J. Fernández) 3D reconstructions: Each processor is assigned a block of consecutive slices. Data is in overlapping blobs. The blocks are processed in parallel. The values of shared variables are transmitted between the processors which share them, averaged, and redestributed.
January 13, 2008 Component-Averaged Domain Decomposition 20 CARP-CG: CG acceleration of CARP CARP is KACZ in some superspace (with cyclic relaxation parameter) Björck & Elfving (BIT 79): developed CGMN, which is a (sequential) CG- acceleration of KACZ (double sweep, fixed relax. parameter) We extended this result to allow cyclic relaxation parameters Result: CARP-CG
January 13, 2008 Component-Averaged Domain Decomposition 21 CARP-CG: Properties Same robustness as CARP Very significant improvement in performance on stiff linear systems derived from elliptic PDEs Very competitive runtime compared to leading solver/preconditioner combinations on systems derived from convection-dominated PDEs Improved performance in ET
CARP-CG on PDEs CG acceleration of projection methods was done before, but with block projections, requiring multi- coloring. CARP-CG avoids this. Tests were run on 9 convection- dominated PDEs, comparing CARP- CG with restarted GMRES, CGS and Bi-CGSTAB, with and without various preconditioners. Also tested: CGNR. Domain: unit cube – 80x80x80. January 13, 2008 Component-Averaged Domain Decomposition 22
January 13, 2008 Component-Averaged Domain Decomposition ,000 equations
January 13, 2008 Component-Averaged Domain Decomposition ,000 equations
January 13, 2008 Component-Averaged Domain Decomposition ,000 equations
January 13, 2008 Component-Averaged Domain Decomposition ,000 equations
January 13, 2008 Component-Averaged Domain Decomposition ,000 equations
January 13, 2008 Component-Averaged Domain Decomposition 28 CARP-CG: ET results
January 13, 2008 Component-Averaged Domain Decomposition 29 Future research on CADD Different internal solvers: 1. Guaranteed convergence? 2. Symmetrizability? Combine CADD with multigrid CFD applications Additional biomedical applications CADD with preconditioners Compare CADD with other DD methods, such as additive Schwarz
January 13, 2008 Component-Averaged Domain Decomposition 30 CARP Publications CARP: SIAM J. Sci. Comput. 27 (2005) Electron tomography: J. Par. & Dist. Comput. (2007), in press. CARP-CG: Submitted for publication.