Highly Efficient Gradient Computation for Highly Efficient Gradient Computation for Density- -Constrained Analytical Placement Methods Constrained Analytical Placement Methods Density Jason Cong and Guojie Luo Jason Cong and Guojie Luo UCLA Computer Science Department { cong, gluo } @ cs.ucla.edu This work is partially supported by NSF CCF-0430077 and CCF-0528583
Outline Outline Related Work, Motivation & Contributions � Related Work, Motivation & Contributions � NLP Formulation and Gradient Computation � NLP Formulation and Gradient Computation � � Nonlinear programming formulation � Nonlinear programming formulation � Iterative methods � Iterative methods � Density and smoothing techniques � Density and smoothing techniques � Efficient Gradient computation � Efficient Gradient computation Experimental Results � Experimental Results � Summary and Future Work � Summary and Future Work � UCLA VLSICAD LAB 2
Related Work Related Work Top performing placers in ISPD’ ’06 placement contest 06 placement contest � Top performing placers in ISPD � � Kraftwerk [Eisenmann & Johannes DAC � Kraftwerk [Eisenmann & Johannes DAC’ ’ 98] 98] � mPL6 [Chan, Cong, et al., ISPD � mPL6 [Chan, Cong, et al., ISPD’ ’06] 06] � NTUplace [Chen, Chang, et al. ICCAD � NTUplace [Chen, Chang, et al. ICCAD’ ’06] 06] Iterative, density- -driven overlap removal driven overlap removal � Iterative, density � � Guided by � Guided by “ “force force” ”, , � or by descend direction of density penalty � or by descend direction of density penalty UCLA VLSICAD LAB 3
An Example of Analytical Placement An Example of Analytical Placement � Blue: standard cells Blue: standard cells � � Green: movable macros Green: movable macros � � Yellow: fixed macros Yellow: fixed macros � UCLA VLSICAD LAB 4
Motivation & Contributions Motivation & Contributions Common strategies in analytical placers � Common strategies in analytical placers � � Density smoothing techniques � Density smoothing techniques • Some smooth operators without closed • Some smooth operators without closed- -form formula involved form formula involved � Iterative unconstrained optimizations � Iterative unconstrained optimizations • Frequent gradient computation is necessary • Frequent gradient computation is necessary Our contributions � Our contributions � � Unify a wide range of smoothing techniques � Unify a wide range of smoothing techniques � Derive a highly efficient gradient computation method � Derive a highly efficient gradient computation method � Show good quality results for mixed � Show good quality results for mixed- -size placements size placements UCLA VLSICAD LAB 5
Nonlinear Programming Formulation for Placement Nonlinear Programming Formulation for Placement Wirelength- -driven placement with density constraints driven placement with density constraints � Wirelength � � NLP formulation with inequality constraints � NLP formulation with inequality constraints • minimize: total wirelength • minimize: total wirelength • subject to: cell_density ≤ ≤ capacity • subject to: cell_density capacity � NLP formulation with equality constraints � NLP formulation with equality constraints • minimize: total wirelength • minimize: total wirelength • subject to: • subject to: cell_density cell_density + + filler_density filler_density = = capacity capacity UCLA VLSICAD LAB 6
Density Functions (1/3) Density Functions (1/3) Original Density � Original Density � UCLA VLSICAD LAB 7
Density Functions (2/3) Density Functions (2/3) Bell- -shaped Density (Naylor, APlace, NTUplace) shaped Density (Naylor, APlace, NTUplace) � Bell � UCLA VLSICAD LAB 8
Density Functions (3/3) Density Functions (3/3) Poisson/Helmholtz- -smoothed Density (Kraftwerk, mPL) smoothed Density (Kraftwerk, mPL) � Poisson/Helmholtz � UCLA VLSICAD LAB 9
Iterative Methods Iterative Methods Problem formulation � Problem formulation � � minimize: wirelength � minimize: wirelength � subject to: cell_density = capacity � subject to: cell_density = capacity Unconstrained problems � Unconstrained problems � � Penalized objective function � Penalized objective function • OBJ μ • • = wirelength + μ OBJ μ • Penalty Penalty μ = wirelength + � Penalty function � Penalty function 2 + • e.g. squared deviation: Penalty = • e.g. squared deviation: Penalty = 2 + 2 2 Iterative method � Iterative method � � loop { minimize OBJ � μ ; } ; if (converge) break; else increase μ loop { minimize OBJ μ ; } μ ; if (converge) break; else increase UCLA VLSICAD LAB 10
Density Penalty Functions (1/3) Density Penalty Functions (1/3) Bell- -shaped density penalty function shaped density penalty function � Bell � Density Function Density Function cell i other cells (high dimensional) Density Penalty Function Density Penalty Function (projected in x i ) UCLA VLSICAD LAB 11
Density Penalty Functions (2/3) Density Penalty Functions (2/3) Helmholtz- -smoothed density penalty function smoothed density penalty function � Helmholtz � cell i other cells Density Penalty Function (projection in x i ) UCLA VLSICAD LAB 12
Density Penalty Functions (3/3) Density Penalty Functions (3/3) cell i other cells Bell- -shaped shaped Helmholtz- -smoothed smoothed Bell Helmholtz UCLA VLSICAD LAB 13
Density Smoothing Techniques Density Smoothing Techniques Local smoothing � Local smoothing � � Locally smooth the non � Locally smooth the non- -differentiable edges differentiable edges Global smoothing � Global smoothing � � Globally distribute the original density but maintain consistenc � Globally distribute the original density but maintain consistency y � We unified these global smoothing techniques � We unified these global smoothing techniques • An integral transformation • An integral transformation = ∫ ∫ 1 1 ′ ′ ′ ′ ′ ′ ψ u v D u v G u v u v du dv ( , ) ( , ) ( , , , ) � � 0 0 • Including but not limited to • Including but not limited to Poisson smoothing (Kraftwerk) Poisson smoothing (Kraftwerk) � � Helmholtz smoothing (mPL) Helmholtz smoothing (mPL) � � Gaussian smoothing (NTUplace) Gaussian smoothing (NTUplace) � � • Keywords: Elliptic PDE, Green • Keywords: Elliptic PDE, Green’ ’s function s function � Our gradient computation works with such smoothing techniques � Our gradient computation works with such smoothing techniques UCLA VLSICAD LAB 14
Gradient Computation (1/2) Gradient Computation (1/2) Naï ïve computation by finite difference scheme ve computation by finite difference scheme � Na � Δ x i cell i Penalty Function Penalty Function other cells Density Function ∂ − Density Function Penalty ≈ ∂ Δ x x i i UCLA VLSICAD LAB 15
Gradient Computation (2/2) Gradient Computation (2/2) Our efficient method � Our efficient method � cell i Twice Smoothed Density Smoothed Density Twice Smoothed Density Smoothed Density other cells ∂ − Penalty = ∂ x w i i UCLA VLSICAD LAB 16
Comparison of the Gradient Computation Methods Comparison of the Gradient Computation Methods Naï ïve computation ve computation Our efficient computation � Na � Our efficient computation � � Penalty Function Twice Smoothed Density Penalty Function Twice Smoothed Density ∂ − ∂ − Penalty Penalty ≈ = ∂ Δ ∂ x x x w i i i i Avoid exploring the high dimensional penalty function � Avoid exploring the high dimensional penalty function � Reduce the computational time by a factor of n n � Reduce the computational time by a factor of � UCLA VLSICAD LAB 17
Comparison with the mPL Implementation Comparison with the mPL Implementation mPL implementation Our efficient computation � mPL implementation � Our efficient computation � � Smoothed Density Twice Smoothed Density Smoothed Density Twice Smoothed Density 1/2 ) (with operator H) (with operator H 1/2 ) (with operator H) (with operator H ∂ − ∂ − Penalty Penalty ≈ ⋅ = A ∂ Δ ∂ x x x w i i i i Essentially the same for small cells with proper scaling A A � Essentially the same for small cells with proper scaling � Our method is directly applicable to large macros � Our method is directly applicable to large macros � UCLA VLSICAD LAB 18
Experimental Results on IBM- -HB+ Benchmarks HB+ Benchmarks Experimental Results on IBM � In average, wirelength is 13% shorter than SCAMPI [Ng, Markov, et al.] � And 15% shorter than mPL6 [Chan, Cong, et al.] � NTUplace [Chen, Chang, et al.] as the detailed placer UCLA VLSICAD LAB 19
Recommend
More recommend