cs 290h lecture 15 gesp concluded final presentations for survey projects next tue and thu 20-minute...

20
CS 290H Lecture 15 CS 290H Lecture 15 GESP concluded GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion Email me with your preferred day – first come first served Course evaluations at end of class today

Upload: cory-hood

Post on 18-Jan-2018

216 views

Category:

Documents


0 download

DESCRIPTION

SuperLU-dist: Distributed static data structure Process (or) mesh L U Block cyclic matrix layout

TRANSCRIPT

Page 1: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

CS 290H Lecture 15CS 290H Lecture 15GESP concludedGESP concluded

• Final presentations for survey projects next Tue and Thu• 20-minute talk with at least 5 min for questions and discussion• Email me with your preferred day – first come first served

• Course evaluations at end of class today

Page 2: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

SuperLU-dist: GE with static pivoting SuperLU-dist: GE with static pivoting [Li, Demmel]

• Target: Distributed-memory multiprocessors

• Goal: No pivoting during numeric factorization

Page 3: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

SuperLU-dist: SuperLU-dist: Distributed static data structureDistributed static data structure

Process(or) mesh

0 1 23 4 5

L0

0 1 2

3 4 5

0 1 2

3 4 5

0 1 2

3 4 5

0 1 2

3 4 50 1 23 4 5

0 1 2

0 1 23 4 5

0 1 2

0

3

03

0

3

U

Block cyclic matrix layout

Page 4: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

GESP: GESP: Gaussian elimination with static pivotingGaussian elimination with static pivoting

• PA = LU• Sparse, nonsymmetric A• P is chosen numerically in advance, not by partial pivoting!• After choosing P, can permute PA symmetrically for sparsity:

Q(PA)QT = LU

= xP

Page 5: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

SuperLU-dist: GE with static pivoting SuperLU-dist: GE with static pivoting [Li, Demmel]

• Target: Distributed-memory multiprocessors• Goal: No pivoting during numeric factorization

1. Permute A unsymmetrically to have large elements on the diagonal (using weighted bipartite matching)

2. Scale rows and columns to equilibrate3. Permute A symmetrically for sparsity4. Factor A = LU with no pivoting, fixing up small pivots:

if |aii| < ε · ||A|| then replace aii by ε1/2 · ||A||

5. Solve for x using the triangular factors: Ly = b, Ux = y6. Improve solution by iterative refinement

Page 6: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

SuperLU-dist: GE with static pivoting SuperLU-dist: GE with static pivoting [Li, Demmel]

• Target: Distributed-memory multiprocessors• Goal: No pivoting during numeric factorization

1. Permute A unsymmetrically to have large elements on the diagonal (using weighted bipartite matching)

2. Scale rows and columns to equilibrate3. Permute A symmetrically for sparsity4. Factor A = LU with no pivoting, fixing up small pivots:

if |aii| < ε · ||A|| then replace aii by ε1/2 · ||A||

5. Solve for x using the triangular factors: Ly = b, Ux = y6. Improve solution by iterative refinement

Page 7: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

Row permutation for heavy diagonal Row permutation for heavy diagonal [Duff, Koster]

• Represent A as a weighted, undirected bipartite graph (one node for each row and one node for each column)

• Find matching (set of independent edges) with maximum product of weights

• Permute rows to place matching on diagonal• Matching algorithm also gives a row and column scaling

to make all diag elts =1 and all off-diag elts <=1

1 52 3 41

5

234

A

1

5

2

3

4

1

5

2

3

4

1 52 3 44

2

531

PA

Page 8: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

SuperLU-dist: GE with static pivoting SuperLU-dist: GE with static pivoting [Li, Demmel]

• Target: Distributed-memory multiprocessors• Goal: No pivoting during numeric factorization

1. Permute A unsymmetrically to have large elements on the diagonal (using weighted bipartite matching)

2. Scale rows and columns to equilibrate3. Permute A symmetrically for sparsity4. Factor A = LU with no pivoting, fixing up small pivots:

if |aii| < ε · ||A|| then replace aii by ε1/2 · ||A||

5. Solve for x using the triangular factors: Ly = b, Ux = y6. Improve solution by iterative refinement

Page 9: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

SuperLU-dist: GE with static pivoting SuperLU-dist: GE with static pivoting [Li, Demmel]

• Target: Distributed-memory multiprocessors• Goal: No pivoting during numeric factorization

1. Permute A unsymmetrically to have large elements on the diagonal (using weighted bipartite matching)

2. Scale rows and columns to equilibrate3. Permute A symmetrically for sparsity4. Factor A = LU with no pivoting, fixing up small pivots:

if |aii| < ε · ||A|| then replace aii by ε1/2 · ||A||

5. Solve for x using the triangular factors: Ly = b, Ux = y6. Improve solution by iterative refinement

Page 10: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

SuperLU-dist: GE with static pivoting SuperLU-dist: GE with static pivoting [Li, Demmel]

• Target: Distributed-memory multiprocessors• Goal: No pivoting during numeric factorization

1. Permute A unsymmetrically to have large elements on the diagonal (using weighted bipartite matching)

2. Scale rows and columns to equilibrate3. Permute A symmetrically for sparsity4. Factor A = LU with no pivoting, fixing up small pivots:

if |aii| < ε · ||A|| then replace aii by ε1/2 · ||A||

5. Solve for x using the triangular factors: Ly = b, Ux = y6. Improve solution by iterative refinement

Page 11: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

SuperLU-dist: GE with static pivoting SuperLU-dist: GE with static pivoting [Li, Demmel]

• Target: Distributed-memory multiprocessors• Goal: No pivoting during numeric factorization

1. Permute A unsymmetrically to have large elements on the diagonal (using weighted bipartite matching)

2. Scale rows and columns to equilibrate3. Permute A symmetrically for sparsity4. Factor A = LU with no pivoting, fixing up small pivots:

if |aii| < ε · ||A|| then replace aii by ε1/2 · ||A||

5. Solve for x using the triangular factors: Ly = b, Ux = y6. Improve solution by iterative refinement

Page 12: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

Iterative refinement to improve solutionIterative refinement to improve solution

Iterate: • r = b – A*x• backerr = maxi ( ri / (|A|*|x| + |b|)i )

• if backerr < ε or backerr > lasterr/2 then stop iterating• solve L*U*dx = r• x = x + dx• lasterr = backerr• repeat

Usually 0 – 3 steps are enough

Page 13: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

Convergence analysis of iterative refinementConvergence analysis of iterative refinement

Let C = I – A(LU)-1 [ so A = (I – C)·(LU) ]

x1 = (LU)-1b

r1 = b – Ax1 = (I – A(LU)-1)b = Cb

dx1 = (LU)-1 r1 = (LU)-1Cb

x2 = x1+dx1 = (LU)-1(I + C)b

r2 = b – Ax2 = (I – (I – C)·(I + C))b = C2b

. . .In general, rk = b – Axk = Ckb

Thus rk 0 if |largest eigenvalue of C| < 1.

Page 14: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

SuperLU-dist: GE with static pivoting SuperLU-dist: GE with static pivoting [Li, Demmel]

• Target: Distributed-memory multiprocessors• Goal: No pivoting during numeric factorization

1. Permute A unsymmetrically to have large elements on the diagonal (using weighted bipartite matching)

2. Scale rows and columns to equilibrate3. Permute A symmetrically for sparsity4. Factor A = LU with no pivoting, fixing up small pivots:

if |aii| < ε · ||A|| then replace aii by ε1/2 · ||A||

5. Solve for x using the triangular factors: Ly = b, Ux = y6. Improve solution by iterative refinement

Page 15: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

Directed graphDirected graph

• A is square, unsymmetric, nonzero diagonal

• Edges from rows to columns

• Symmetric permutations PAPT

1 2

3

4 7

6

5

A G(A)

Page 16: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

Undirected graph, ignoring edge directionsUndirected graph, ignoring edge directions

• Overestimates the nonzero structure of A

• Sparse GESP can use symmetric permutations (min degree, nested dissection) of this graph

1 2

3

4 7

6

5

A+AT G(A+AT)

Page 17: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

Symbolic factorization of undirected graphSymbolic factorization of undirected graph

• Overestimates the nonzero structure of L+U

chol(A +AT) G+(A+AT)

1 2

3

4 7

6

5

Page 18: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

+

Symbolic factorization of directed graphSymbolic factorization of directed graph

• Add fill edge a -> b if there is a path from a to b through lower-numbered vertices.

• Sparser than G+(A+AT) in general.

• But what’s a good ordering for G+(A)?

1 2

3

4 7

6

5

A G (A) L+U

Page 19: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

Question: Preordering for GESPQuestion: Preordering for GESP

• Use directed graph model, less well understood than symmetric factorization

• Symmetric: bottom-up, top-down, hybrids• Nonsymmetric: mostly bottom-up

• Symmetric: best ordering is NP-complete, but approximation theory is based on graph partitioning (separators)

• Nonsymmetric: no approximation theory is known; partitioning is not the whole story

• Good approximations and efficient algorithms both remain to be discovered

Page 20: CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion

Remarks on nonsymmetric GERemarks on nonsymmetric GE

• Multifrontal tends to be faster but use more memory• Unsymmetric-pattern multifrontal

• Lots more complicated, not simple elimination tree• Sequential and SMP versions in UMFpack and WSMP (see web links)• Distributed-memory unsymmetric-pattern multifrontal is a research topic

• Combinatorial preliminaries are important: ordering, etree, symbolic factorization, matching, scheduling• not well understood in many ways• also, mostly not done in parallel

• Not mentioned: symmetric indefinite problems• Direct-methods technology is also used in

preconditioners for iterative methods