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

highly efficient gradient computation for highly
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Highly Efficient Gradient Computation for Highly Efficient Gradient Computation for Density Density-

  • Constrained Analytical Placement Methods

Constrained Analytical Placement Methods

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

slide-2
SLIDE 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

slide-3
SLIDE 3

Related Work Related Work

  • Top performing placers in ISPD

Top performing placers in ISPD’ ’06 placement contest 06 placement contest

  • 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

Iterative, density-

  • driven overlap removal

driven overlap removal

  • Guided by

Guided by “ “force force” ”, ,

  • r by descend direction of density penalty
  • r by descend direction of density penalty

UCLA VLSICAD LAB 3

slide-4
SLIDE 4

An Example of Analytical Placement An Example of Analytical Placement

UCLA VLSICAD LAB 4

  • Blue: standard cells

Blue: standard cells

  • Green: movable macros

Green: movable macros

  • Yellow: fixed macros

Yellow: fixed macros

slide-5
SLIDE 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

slide-6
SLIDE 6

Nonlinear Programming Formulation for Placement Nonlinear Programming Formulation for Placement

  • Wirelength

Wirelength-

  • driven placement with density constraints

driven placement with density constraints

  • NLP formulation with inequality constraints

NLP formulation with inequality constraints

  • minimize: total wirelength

minimize: total wirelength

  • subject to:

subject to: cell_density cell_density ≤ ≤ capacity 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

slide-7
SLIDE 7

Density Functions (1/3) Density Functions (1/3)

  • Original Density

Original Density

UCLA VLSICAD LAB 7

slide-8
SLIDE 8

Density Functions (2/3) Density Functions (2/3)

  • Bell

Bell-

  • shaped Density (Naylor, APlace, NTUplace)

shaped Density (Naylor, APlace, NTUplace)

UCLA VLSICAD LAB 8

slide-9
SLIDE 9

Density Functions (3/3) Density Functions (3/3)

  • Poisson/Helmholtz

Poisson/Helmholtz-

  • smoothed Density (Kraftwerk, mPL)

smoothed Density (Kraftwerk, mPL)

UCLA VLSICAD LAB 9

slide-10
SLIDE 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

OBJμ

μ = wirelength +

= wirelength + μ μ •

  • Penalty

Penalty

  • Penalty function

Penalty function

  • e.g. squared deviation: Penalty =

e.g. squared deviation: Penalty = 2

2 +

+ 2

2

  • Iterative method

Iterative method

  • loop { minimize OBJ

loop { minimize OBJμ

μ; if (converge) break; else increase

; if (converge) break; else increase μ μ; } ; }

UCLA VLSICAD LAB 10

slide-11
SLIDE 11

Density Penalty Functions (1/3) Density Penalty Functions (1/3)

UCLA VLSICAD LAB 11

cell i

  • ther cells

Density Function Density Function (high dimensional) Density Penalty Function Density Penalty Function (projected in xi)

  • Bell

Bell-

  • shaped density penalty function

shaped density penalty function

slide-12
SLIDE 12

Density Penalty Functions (2/3) Density Penalty Functions (2/3)

UCLA VLSICAD LAB 12

Density Penalty Function (projection in xi) cell i

  • ther cells
  • Helmholtz

Helmholtz-

  • smoothed density penalty function

smoothed density penalty function

slide-13
SLIDE 13

Bell Bell-

  • shaped

shaped Helmholtz Helmholtz-

  • smoothed

smoothed

UCLA VLSICAD LAB 13

cell i

  • ther cells

Density Penalty Functions (3/3) Density Penalty Functions (3/3)

slide-14
SLIDE 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

  • 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

1 1

( , ) ( , ) ( , , , ) ψ u v D u v G u v u v du dv ′ ′ ′ ′ ′ ′ = ∫ ∫

slide-15
SLIDE 15
  • Na

Naï ïve computation by finite difference scheme ve computation by finite difference scheme

UCLA VLSICAD LAB 15

Gradient Computation (1/2) Gradient Computation (1/2)

cell i

  • ther cells

Δ xi

Penalty

i i

x x ∂ − ≈ ∂ Δ

Penalty Function Penalty Function

Density Function Density Function

slide-16
SLIDE 16

Gradient Computation (2/2) Gradient Computation (2/2)

  • Our efficient method

Our efficient method

UCLA VLSICAD LAB 16

cell i

  • ther cells

Penalty

i i

x w ∂ − = ∂

Smoothed Density Smoothed Density Twice Smoothed Density Twice Smoothed Density

slide-17
SLIDE 17

Comparison of the Gradient Computation Methods Comparison of the Gradient Computation Methods

  • Na

Naï ïve computation ve computation

  • Our efficient computation

Our efficient computation

UCLA VLSICAD LAB 17

Penalty

i i

x x ∂ − ≈ ∂ Δ

Penalty Function Penalty Function

Penalty

i i

x w ∂ − = ∂

Twice Smoothed Density Twice Smoothed Density

  • Avoid exploring the high dimensional penalty function

Avoid exploring the high dimensional penalty function

  • Reduce the computational time by a factor of

Reduce the computational time by a factor of n n

slide-18
SLIDE 18

Comparison with the mPL Implementation Comparison with the mPL Implementation

  • mPL implementation

mPL implementation

  • Our efficient computation

Our efficient computation

UCLA VLSICAD LAB 18

Penalty

i i

A x x ∂ − ≈ ⋅ ∂ Δ Penalty

i i

x w ∂ − = ∂

Twice Smoothed Density Twice Smoothed Density

  • Essentially the same for small cells with proper scaling

Essentially the same for small cells with proper scaling A A

  • Our method is directly applicable to large macros

Our method is directly applicable to large macros

Smoothed Density Smoothed Density (with operator H) (with operator H) (with operator H (with operator H1/2

1/2)

)

slide-19
SLIDE 19

Experimental Results on IBM Experimental Results on IBM-

  • HB+ Benchmarks

HB+ Benchmarks

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

slide-20
SLIDE 20

Summary & Future Work Summary & Future Work

  • We proposed an efficient gradient computation method

We proposed an efficient gradient computation method

  • Applicable to a wide range of global smoothing techniques

Applicable to a wide range of global smoothing techniques

  • Reduce the runtime by a factor of

Reduce the runtime by a factor of n n compared to a naive method compared to a naive method

  • Achieved good quality mixed

Achieved good quality mixed-

  • size placement results

size placement results

  • Future work

Future work

  • Apply the computation to test other iterative methods

Apply the computation to test other iterative methods

  • Such as augmented Lagrangian method

Such as augmented Lagrangian method

  • Extend the nonlinear programming framework to handle complex

Extend the nonlinear programming framework to handle complex

  • bjective and constraints
  • bjective and constraints
  • such as power density constraints

such as power density constraints

  • and TS via constraints in 3D placement

and TS via constraints in 3D placement

UCLA VLSICAD LAB 20

slide-21
SLIDE 21

Thank You! Thank You!

UCLA VLSICAD LAB 21

slide-22
SLIDE 22

Backup Slide Backup Slide

  • An equivalent expression

An equivalent expression

UCLA VLSICAD LAB 22

( ) ( )

2 1 1 ( , ) 1 1 ( , ) ( , ) ( , ) ( , )

  • /2

( , ) ( , ) ( , ; ) ( , ) 2 ( , ) ( , ) ( ', ') ( , , ', ') ' ' ( , ) ( , , / 2, ') '

k k k k

x y k k x y x y k a b x y x y k k y k k y h

μ D u v C u v dudv P x y μ x x D u v μ D u v C u v dudv x D u v G u v u v du dv D u v x x G u v x w v dv ∂ − ∂ ≈ ∂ ∂ ∂ = − ∂ ∂ ∂ = ∂ ∂ = +

∫ ∫ ∫ ∫ ∫ ∫

r r r r r r r r

) ) r r ) ) ) )

( )

( )

/2 /2

  • /2

' /2 /2 ( , )

  • /2

' /2

( , , / 2, ') ' ( , ; ) 2 ( ', ') ( ', ') '

k k k k k k k k k k k k k k

h y h k k y h u x w y h x y y h u x w k

G u v x w v dv P x y μ μ D u v C u v dv x

+ + = − + = −

− − ∂ = − ∂

∫ ∫ ∫

r r

r r ) ) ) )

Leibniz Integral Rule

( )

( , )

2 ( ', ') ( ', ')

x y

μ D u v C u v −

r r

) ) ) )

v’ u’

( , ; )

k

P x y μ x ∂ = − ∂ r r