ePlace: Electrosta-cs Based Placement Using Nesterovs Method - - PowerPoint PPT Presentation

eplace electrosta cs based placement using nesterov s
SMART_READER_LITE
LIVE PREVIEW

ePlace: Electrosta-cs Based Placement Using Nesterovs Method - - PowerPoint PPT Presentation

ePlace: Electrosta-cs Based Placement Using Nesterovs Method 1 Jingwei Lu, 2 Pengwen Chen, 3 Chin-Chih Chang, 3 Lu Sha, 3 Dennis J.-H. Huang, 3


slide-1
SLIDE 1

ePlace: ¡Electrosta-cs ¡Based ¡Placement ¡ Using ¡Nesterov’s ¡Method ¡

¡

1Jingwei ¡Lu, ¡2Pengwen ¡Chen, ¡3Chin-­‑Chih ¡Chang, ¡3Lu ¡Sha, ¡ ¡ 3Dennis ¡J.-­‑H. ¡Huang, ¡3Chin-­‑Chi ¡Teng, ¡1Chung-­‑Kuan ¡Cheng ¡

1 ¡

slide-2
SLIDE 2

Outline ¡

  • Introduc-on ¡
  • Density ¡Func-on ¡– ¡electrosta)c ¡system ¡model ¡
  • Numerical ¡Solu-on ¡– ¡spectral ¡methods ¡
  • Nonlinear ¡Op-miza-on ¡– ¡Nesterov’s ¡method ¡
  • ePlace ¡Integra-on ¡– ¡a ¡flat ¡nonlinear ¡algorithm ¡
  • Experimental ¡Results ¡
  • Conclusion ¡

2 ¡

core ¡contribu)ons ¡

slide-3
SLIDE 3

Placement ¡– ¡An ¡NP-­‑Hard ¡Problem ¡

3 ¡

shortest ¡ ¡ connect ¡ even ¡ density ¡

from ¡[Kahng10] ¡

slide-4
SLIDE 4

Density ¡Func-on ¡

4 ¡

Cell ¡Area ¡(Ai) ¡ Charge ¡Quan)ty ¡(qi) ¡ Cell ¡Instance ¡

Electric Particles

+

Placement ¡Instance ¡ Electrosta)c ¡System ¡

Even ¡Density ¡Distr. ¡

  • Min. ¡Poten)al ¡Energy ¡

Cell ¡Coor ¡& ¡Dim. ¡ Charge ¡Coor ¡& ¡Dim. ¡

f(v) ¡= ¡W(v)+λN(v) ¡

N(v) ¡= ¡Σqiψi ¡ ¡

slide-5
SLIDE 5

5 ¡

charge ¡density ¡distr. ¡ ISPD05 ¡adaptec1, ¡ 128x128 ¡grid ¡ electric ¡poten)al ¡distr. ¡ cell ¡& ¡macro ¡distr. ¡ electric ¡field ¡distr. ¡

slide-6
SLIDE 6

: ¡the ¡outer ¡norm ¡vector ¡

Poisson’s ¡Equa-on ¡

6 ¡

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ ∈ = = ∂ ∈ = ∇ ⋅ ∈ − = ∇ ⋅ ∇

∫∫ ∫∫

R y x y x y x R y x y x R y x y x y x , , , , , n ˆ , , , ψ ρ ψ ρ ψ

sum ¡of ¡charge ¡=> ¡zero ¡ ρ(x,y): ¡density ¡distr. ¡ ψ(x,y): ¡poten)al ¡distr. ¡ n ˆ Neumann ¡boundary ¡condi)on ¡ sum ¡of ¡poten)al ¡=> ¡zero ¡ even ¡density ¡distr. ¡ unique ¡solu)on ¡

slide-7
SLIDE 7

Numerical ¡Solu-on ¡

7 ¡

Density ¡Coefs ¡ Density ¡Expr ¡

( ) ( ) ( )

∑∑

− − = − − =

+ =

1 1 2 2 ,

cos cos ,

n n u n n v v u v u v u

y w x w w w a y x ψ

Electric ¡ Poten)al ¡ Electric ¡Field ¡

( ) ( ) ( )

∑ ∑

− − = − − =

=

1 1 ,

cos cos , 2 1

n n u n n v v u v u

y w x w y x n a ρ

( ) ( ) ( ) ( )

⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ + = + =

∑∑ ∑∑

u v v u v u v v u y u v v u v u u v u x

y w x w w w w a E y w x w w w w a E sin cos cos sin

2 2 , 2 2 ,

( ) ( ) ( )

∑ ∑

− − = − − =

=

1 1 ,

cos cos ,

n n u n n v v u v u

y w x w a y x ρ

slide-8
SLIDE 8

Density ¡Func-on ¡Analysis ¡

  • Global ¡smoothness ¡

– Shortest ¡path: ¡no ¡fixed-­‑block ¡detours ¡

  • Generalized ¡solu-on ¡

– Same ¡treatment ¡for ¡std-­‑cells, ¡macros ¡& ¡blockages ¡ ¡ – No ¡special ¡smoothing ¡or ¡physical ¡perturba-on ¡

  • Determinis-c ¡

– Simula-on ¡of ¡electrosta-c ¡system: ¡guaranteed ¡ convergence ¡

  • Complexity: ¡O(nlogn) ¡

– FFT ¡property: ¡n ¡is ¡total ¡# ¡movable ¡objects ¡

8 ¡

slide-9
SLIDE 9

Nesterov’s ¡Method ¡[Nesterov83] ¡

9 ¡

steplength ¡ requirement ¡

( )

⎭ ⎬ ⎫ ⎩ ⎨ ⎧ ∇ ≥ ∇ − − ∇

2

2 1 max

k k k k k k k

f f f f α α α v

k k k k

f ∇ − = α v u

solu)on ¡& ¡ param ¡update ¡ ¡

( )( )

1 1 /

1

+ −

− − + =

k k k k k k

a a u u u v

( ) 2

/ 1 4 1

2 1

+ + =

+ k k

a a

convex ¡func)on ¡f(v) ¡ Lipschitz ¡con)nuous ¡ gradient ¡∇f(v) ¡ O(1/k2) ¡convergence ¡rate, ¡k: ¡# ¡itera)ons ¡

slide-10
SLIDE 10

are ¡known ¡ ¡

Lipschitz ¡Constant ¡Predic-on ¡

10 ¡

( ) ( )

1 1 /

~

− −

− ∇ − ∇ =

k k k k f k

f f L v v v v

( ) ( )

1 1

~ 1

− −

∇ − ∇ − = =

k k k k f k

f f L

k

v v v v α

steplength ¡ predic)on ¡

∇f vk

( ), ∇f vk−1 ( )

vk, vk−1

∃L > 0, ∀ u & v ∈ E, ∇f u

( )− ∇f v ( ) ≤ L⋅ u − v

defini)on ¡

line ¡search? ¡

zero ¡run)me ¡overhead ¡

3.3x ¡speedup ¡

slide-11
SLIDE 11

steplength ¡overes)mate ¡? ¡

Steplength ¡Backtracking ¡

11 ¡

( ) ( )

1 1 /

ˆ

− −

∇ − ∇ − =

k k k k k

f f v v v v α

  • temp. ¡steplength ¡
  • temp. ¡solu)on ¡

( )

k k k k

f v v v ∇ ⋅ − =

+

α ˆ ˆ

1

  • ref. ¡steplength ¡

( ) ( )

k k k k k

f f v v v v ∇ − ∇ − = ʹ″

+ + 1 1

ˆ / ˆ ˆ α

final ¡solu)on ¡

if ˆ αk > ˆ! αk

( )

ˆ αk = ˆ! αk

  • .w.

αk = ˆ! αk

( )

k k k k

f v v v ∇ ⋅ − =

+

α

1

average ¡# ¡backtracks: ¡1.04 ¡

slide-12
SLIDE 12

Std-­‑Cell ¡Placement: ¡ADAPTEC1 ¡of ¡ISPD05 ¡

12 ¡

fillers ¡ std-­‑cells ¡ fixed ¡macros ¡

slide-13
SLIDE 13

Extension: ¡Mixed-­‑Size ¡Placement ¡

13 ¡

Lipschitz Prediction Hessian Pre- conditioning W’, D’ Gradient Computation Steplength Backtracking xlo Converge? (τ < 10%) no inst. Fix Macros xcDP Random Filler Insertion Remove Filler, Fix Std-Cells xmLG xcGP Macro Legalization (mLG) Initial Placement (mIP) W’pre, D’pre

α

else Nesterov’s Optimizer pass Anneal Macro Legalization Filler-Only Placement

xmGP

Std-Cell & Filler Co-Placement Detail Placement (cDP) xmIP xfill

  • pt. xfill

xmLG xm Std-Cell Global Placemnet (cGP) Mixed-Size Global Placement (mGP)

slide-14
SLIDE 14

Nonlinear ¡Precondi-oning ¡

14 ¡

( )

T n n f

q E q E H

− −

+ + ≈ λ λ , ,

1 1 1

⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ∂ ∂ ∂ ∂ ≈ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ =

2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2

... ...

n n n n n n f

x f x f x f x f x x f x x f x x f x f x x f x x f x x f x f H …

2 2 2 2 2 2 i i i

x N x W x f ∂ ∂ + ∂ ∂ = ∂ ∂ λ ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ ≈ ∂ ∂ = ∂ ∂ ≈ ∂ ∂ = ∂ ∂

∈ i i i i i i E j i j i

q x q x N E x W x W

i

2 2 2 2 2 2 2 2

ψ

eigenvector ¡clustering ¡ zero ¡run)me ¡overhead ¡

i i i

q E x f λ + ≈ ∂ ∂

2 2

/

~20% ¡shorter ¡HPWL ¡

slide-15
SLIDE 15

Mixed-­‑Size ¡Placement: ¡ADAPTEC1 ¡of ¡MMS ¡

15 ¡

fillers ¡ std-­‑cells ¡ movable ¡macros ¡

slide-16
SLIDE 16

Experiment ¡Setup ¡

  • Intel ¡i7 ¡920 ¡2.67GHz ¡CPU ¡& ¡12GB ¡RAM. ¡
  • ISPD ¡2005 ¡[Nam05] ¡& ¡2006 ¡[Nam06], ¡MMS ¡[Yan09] ¡benchmarks ¡

– Up ¡to ¡2.5M ¡std-­‑cells ¡& ¡3.7K ¡macros, ¡different ¡target ¡densi-es ¡

16 ¡

min-­‑cut nonlinear FastPlace3.0 ¡

[Viswanathan07b]

ComPLx ¡[Kim12b] Aplace3 ¡[Kahng05] RQL ¡[Viswanathan07a] MAPLE ¡[Kim12a] NTUplace3 ¡[Hsu12] mPL6 ¡[Chan06] FFTPL ¡[Lu13] constructive Capo10.5 ¡

[Roy06]

FastPlace3.0 ¡

[Viswanathan07b]

ComPLx ¡[Kim12] POLAR ¡[Lin13] NTUplace3 ¡[Hsu12] mixed-­‑size ¡ placers

  • ne-­‑stage

mPL6 ¡[Chan06] FLOP ¡[Yan09] NTUplace3-­‑NR ¡[Hsu12] quadratic std-­‑cell ¡ placers POLAR ¡[Lin13] Capo10.5 ¡

[Roy06]

BonnPlace ¡

[Struzyna13]

slide-17
SLIDE 17

8.94 0.53 0.91 3.40 0.52 3.05 0.52 9.14 1.40 3.78 1.00

0.00 5.00 10.00

CPU ¡(x)

21.14% 10.01% 5.40% 3.21% 4.50% 2.83% 3.08% 14.28% 12.05% 8.33% 0.00%

0% 10% 20%

Wirelength ¡(%)

ISPD ¡2005 ¡Results ¡

17 ¡

* ¡cited ¡ ¡ results ¡

slide-18
SLIDE 18

8.48 0.74 N/A N/A 0.69 0.69 13.08 2.08 4.59 1.00

0.00 10.00 20.00

CPU ¡(x)

43.73% 16.25% 7.99% 4.59% 4.86% 7.16% 18.38% 7.74% 10.11% 0.00%

0.00% 20.00% 40.00% 60.00%

Wirelength ¡(%)

ISPD ¡2006 ¡Results ¡

18 ¡

* ¡cited ¡ ¡ results ¡

slide-19
SLIDE 19

14.69 2.02 2.14 0.37 1.15 0.70 6.34 0.81 1.05 1.00

5 10 15 20

CPU ¡(x)

MMS ¡Results ¡

19 ¡

64.42% 18.92% 14.31% 18.43% 11.03% 30.69% 16.13% 7.40% 7.13% 0.00%

0% 20% 40% 60% 80%

Wirelength ¡(%)

* ¡cited ¡ ¡ results ¡

slide-20
SLIDE 20

Conclusion ¡

  • ePlace: ¡a ¡novel ¡flat ¡analy-c ¡nonlinear ¡placement ¡
  • Density ¡func-on: ¡electrosta-c ¡analogy ¡

– Poisson’s ¡equa-on, ¡& ¡Neumann ¡condi-on ¡ – Global ¡smoothness: ¡no ¡detour ¡around ¡blockages ¡

  • Numerical ¡solu-on: ¡spectral ¡methods, ¡FFT ¡

– O(nlogn) ¡-me: ¡enable ¡flat ¡netlist ¡& ¡grid ¡

  • Nonlinear ¡op-miza-on: ¡Nesterov’s ¡method ¡

– Precondi-on: ¡same ¡handling ¡of ¡macros ¡& ¡std-­‑cells ¡ – Lipschitz ¡predic-on ¡& ¡backtracking: ¡avoid ¡line ¡search ¡

  • Experiments ¡and ¡results ¡ ¡

– ISPD ¡2005, ¡ISPD ¡2006, ¡MMS ¡benchmark ¡suites ¡ – ≥3% ¡wirelength ¡improvement ¡& ¡comparable ¡run-me ¡

20 ¡

slide-21
SLIDE 21

Q ¡& ¡A ¡

21 ¡