highly efficient gradient computation for highly
play

Highly Efficient Gradient Computation for Highly Efficient Gradient - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. Density Functions (1/3) Density Functions (1/3) Original Density � Original Density � UCLA VLSICAD LAB 7

  8. Density Functions (2/3) Density Functions (2/3) Bell- -shaped Density (Naylor, APlace, NTUplace) shaped Density (Naylor, APlace, NTUplace) � Bell � UCLA VLSICAD LAB 8

  9. Density Functions (3/3) Density Functions (3/3) Poisson/Helmholtz- -smoothed Density (Kraftwerk, mPL) smoothed Density (Kraftwerk, mPL) � Poisson/Helmholtz � UCLA VLSICAD LAB 9

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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