150 likes | 241 Views
VLSI Physical Design Automation. Lecture 5. Circuit Partitioning (III) Spectral and Flow. Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434. Recap of what you have learned. KL Algorithm FM algorithm Variation and Extension Multilevel partition (hMetis) Simulated Annealing.
E N D
VLSI Physical Design Automation Lecture 5. Circuit Partitioning (III) Spectral and Flow Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434
Recap of what you have learned • KL Algorithm • FM algorithm • Variation and Extension • Multilevel partition (hMetis) • Simulated Annealing
Partitioning Algorithms • Two elegant partition algorithms • although not the fastest • Learn how to formulate the problem! • => Key to VLSI CAD (1)Spectral based partitioning algorithms (2) Max-flow based partition algorithm
a b c d a b c d a c a 4 0 0 0 a 0 1 0 3 b 0 5 0 0 3 b 1 0 0 4 = D 3 = A 1 c 0 0 3 0 c 0 0 0 3 d 0 0 0 10 d 3 4 3 0 b d 4 D: degree matrix; A: adjacency matrix; D-A: Laplacian matrix Eigenvectors of D-A form the Laplacian spectrumof Q Spectral Based Partitioning Algorithms
x A x A + + + æ ö æ ö x a x a x a x L ç ÷ ç ÷ 1 11 1 12 2 1 n n æ ö a a a L ç ÷ 11 12 1 n = ... ç ÷ ç ÷ M M ç ÷ a a a L è ø ç ÷ ç ÷ n 1 n 2 nn + + + x a x a x a x L è ø è ø n n 1 1 n 2 2 nn n Eigenvalues and Eigenvectors If Ax=x then is an eigenvalue of A x is an eignevector of A w.r.t. (note that Kx is also a eigenvector, for any constant K).
æ ö æ ö a a x L ç ÷ ç ÷ 11 1 n 1 ( ) = x , , x ç ÷ ç ÷ L M M xTAx 1 n ç ÷ ç ÷ a a x L è ø è ø n 1 nn n æ ö x ç ÷ 1 æ ö n n å å = ç ÷ x a x a ç ÷ L M i i 1 , i in , è ø ç ÷ = = i 1 i 1 x è ø n å = x x a i j ij i , j A Basic Property
å å - - 2 2 ( ( x x x x ) ) i i j j i i , , j j ) ) ( ( Î Î E E …. x1 x2 x3 xn Basic Idea of Laplacian Spectrum Based Graph Partitioning • Given a bisection ( X, X’ ), define a partitioning vector clearly, x 1, x 0 ( 1 = (1, 1, …, 1 ), 0 =(0, 0, …, 0)) • For a partition vector x: • Let S = {x | x 1 and x 0}. Finding best partition vector x such that the total edge cut C(X,X’) is minimum is relaxed to finding x in S such that is minimum • Linear placement interpretation: minimize total squared wirelength - Î ì 1 i X = = x ( x , x , , x ) s.t . x í L 1 2 n i Î 1 i X ' î = 4 * C(X, X’)
…. x1 x2 x3 xn Property of Laplacian Matrix å = ( 1 ) T x Qx Q x x ij i j = - T T x Dx x Ax å å = - 2 d x A x x i i ij i j å å = - 2 d x 2 aij x x i i i j Î ( i , j ) E å = - 2 ( x x ) squared wirelength i j Î ( i , j ) E If x is a partition vector = 4 * C(X, X’) Therefore, we want to minimize T x Qx
å = ³ T x Qx Q x x 0 ij i j T x Qx l = min 2 | x | x in S Property of Laplacian Matrix (Cont’d) ( 2 ) Q is symmetric and semi-definite, i.e. (i) (ii) all eigenvalues of Q are 0 ( 3 ) The smallest eigenvalue of Q is 0 corresponding eigenvector of Q is x0= (1, 1, …, 1 ) (not interesting, all modules overlap and x0S ) ( 4 ) According to Courant-Fischer minimax principle: the 2nd smallest eigenvalue satisfies:
Results on Spectral Based Graph Partitioning • Min bisection cost c(x, x’) n/4 • Min ratio-cut cost c(x,x’)/|x||x’| /n • The second smallest eigenvalue gives the best linear placement • Compute the best bisection or ratio-cut • based on the second smallest eigenvector
Computing the Eigenvector • Only need one eigenvector • (the second smallest one) • Q is symmetric and sparse • Use block Lanczos Algorithm
Linear Ordering of modules • Try all splitting points, choose the best one • using bisection of ratio-cut metric 23 10 22 34 6 21 8 23 10 22 34 6 21 8 Interpreting the Eigenvector
GBUI Results Cluster 2 Module i Value of Xi Cluster 1 Experiments on Special Graphs • GBUI(2n, d, b) [Bui-Chaudhurl-Leighton 1987] 2n nodes d-regular min-bisectionb n n
Some Applications of Laplacian Spectrum • Placement and floorplan • [Hall 1970] • [Otten 1982] • [Frankle-Karp 1986] • [Tsay-Kuh 1986] • Bisection lower bound and computation • [Donath-Hoffman 1973] • [Barnes 1982] • [Boppana 1987] • Ratio-cut lower bound and computation • [Hagen-Kahng 1991] • [Cong-Hagen-Kahng 1992]