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
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
Placement – An NP-‐Hard Problem
3
shortest connect
even density
from [Kahng10]
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
5
charge density distr.
ISPD05 adaptec1, 128x128 grid
electric poten)al distr.
cell & macro distr.
electric field distr.
: the outer norm vector
Poisson’s Equa-on
6
( ) ( ) ( )( ) ( )
( ) ( ) ( )⎪⎪⎩
⎪⎪⎨
⎧
∈==
∂∈=∇⋅
∈−=∇⋅∇
∫∫∫∫ Ryxyxyx
RyxyxRyxyxyx
, 0,,
, 0,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
Numerical Solu-on
7
Density Coefs
Density Expr
( ) ( ) ( )∑∑−
−=
−
−= +=
1 1
22, coscos,
n
nu
n
nvvu
vu
vu ywxwww
ayxψElectric
Poten)al
Electric Field
( ) ( ) ( )∑∑−
−=
−
−=
=1 1
, coscos,21 n
nu
n
nvvuvu ywxwyx
na ρ
( ) ( )
( ) ( )⎪⎪⎩
⎪⎪⎨
⎧
+=
+=
∑∑
∑∑
u vvu
vu
vvuy
u vvu
vu
uvux
ywxwwwwa
E
ywxwwwwa
E
sincos
cossin
22,
22,
( ) ( ) ( )∑∑−
−=
−
−=
=1 1
, coscos,n
nu
n
nvvuvu ywxwayxρ
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
Nesterov’s Method [Nesterov83]
9
steplength requirement
( )⎭⎬⎫
⎩⎨⎧
∇≥∇−−∇2
21max kkkkkkk ffff ααα v
kkkk f∇−= αvusolu)on &
param update ( )( ) 11 /1 +−−−+= kkkkkk aa uuuv
( ) 2/141 21 ++=+ kk aa
convex func)on f(v) Lipschitz con)nuous gradient ∇f(v)
O(1/k2) convergence rate, k: # itera)ons
are known
Lipschitz Constant Predic-on
10
( ) ( ) 11 /~
−− −∇−∇= kkkkfk ffL vvvv
( ) ( )11
~1
−
−
∇−∇
−==
kk
kkfk ffLk
vvvv
α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
steplength overes)mate ?
Steplength Backtracking
11
( ) ( )11 /ˆ −− ∇−∇−= kkkkk ff vvvvαtemp. steplength
temp. solu)on ( )kkkk f vvv ∇⋅−=+ α̂ˆ 1
ref. steplength ( ) ( )kkkkk ff vvvv ∇−∇−=ʹ′ ++ 11 ˆ/ˆα̂
final solu)on
if α̂k > ˆ!αk( ) α̂k = ˆ!αk
o.w. αk = ˆ!αk( )kkkk f vvv ∇⋅−=+ α1
average # backtracks: 1.04
Std-‐Cell Placement: ADAPTEC1 of ISPD05
12
fillers std-‐cells fixed macros
Extension: Mixed-‐Size Placement
13
Lipschitz Prediction
Hessian Pre-conditioning
W’, D’
GradientComputation
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
opt. xfill
xmLG
xm
Std-Cell Global Placemnet (cGP)Mixed-Size Global Placement (mGP)
Nonlinear Precondi-oning
14
( ) Tnnf qEqEH −− ++≈ λλ ,,111 …
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
∂
∂
∂
∂∂
∂
≈
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
∂
∂
∂∂
∂
∂∂
∂
∂∂
∂
∂
∂
∂∂
∂∂∂
∂
∂∂
∂
∂
∂
=
2
2
22
2
21
2
2
2
2
2
1
2
2
2
22
2
12
21
2
21
2
21
2
00
00
0...0...
nnnn
n
n
f
xf
xf
xf
xf
xxf
xxf
xxf
xf
xxf
xxf
xxf
xf
H
…
!"!!
…
…
!"!!
…
2
2
2
2
2
2
iii xN
xW
xf
∂
∂+
∂
∂=
∂
∂λ
⎪⎪
⎩
⎪⎪
⎨
⎧
≈∂
∂=
∂
∂
≈∂
∂=
∂
∂∑∈
ii
ii
i
iEj i
j
i
qx
qxN
ExW
xW
i
2
2
2
2
2
2
2
2
ψ
eigenvector clustering
zero run)me overhead
iii qExf λ+≈∂∂ 22 /
~20% shorter HPWL
Mixed-‐Size Placement: ADAPTEC1 of MMS
15
fillers std-‐cells movable macros
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 nonlinearFastPlace3.0 [Viswanathan07b] ComPLx [Kim12b] Aplace3 [Kahng05]
RQL [Viswanathan07a] MAPLE [Kim12a] NTUplace3 [Hsu12]
mPL6 [Chan06]
FFTPL [Lu13]
constructiveCapo10.5
[Roy06]FastPlace3.0 [Viswanathan07b]
ComPLx [Kim12]
POLAR [Lin13] NTUplace3 [Hsu12]
mixed-‐size placers
one-‐stage
mPL6 [Chan06]
FLOP [Yan09]NTUplace3-‐NR [Hsu12]
quadratic
std-‐cell placers
POLAR [Lin13]
Capo10.5 [Roy06]
BonnPlace [Struzyna13]
8.94
0.53 0.913.40
0.523.05
0.52
9.14
1.403.78
1.000.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
8.48
0.74 N/A N/A 0.69 0.69
13.08
2.084.59
1.000.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
14.69
2.02 2.14 0.37 1.15 0.70
6.34
0.81 1.05 1.000
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
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
Q & A
21