ppt

advertisement
CS137:
Electronic Design Automation
Day 17: November 11, 2005
Placement
(Simulated Annealing…)
1
CALTECH CS137 Fall2005 -- DeHon
Today
• Placement
• Improving Quality
– Avoiding local minima
• Techniques:
– Simulated Annealing
– Exhaustive (Branch-and-bound)
2
CALTECH CS137 Fall2005 -- DeHon
Simulated Annealing
• Physically motivated approach
• Physical world has similar problems
–
–
–
–
–
objects/atoms seeking minimum cost arrangement
at high temperature (energy) can move around
at low temperature, no free energy to move
cool quicklyfreeze in defects (weak structure)
cool slowly allow to find minimum cost
3
CALTECH CS137 Fall2005 -- DeHon
Key Benefit
• Avoid Local Minima
– Allowed to take locally non-improving
moves in order to avoid being stuck
4
CALTECH CS137 Fall2005 -- DeHon
Simulated Annealing
• At high temperature can move around
– not trapped to only make “improving” moves
– free energy from temperature allows exploration of
non-minimum states
– avoid being trapped in local minima
• As temperature lowers
– less energy to take big, non-minimizing moves
– more local / greedy moves
5
CALTECH CS137 Fall2005 -- DeHon
Design Optimization
Components:
1. “Energy” (Cost) function to minimize
–
represent entire state, drives system forward
2. Moves
–
local rearrangement/transformation of solution
3. Cooling schedule
–
–
–
initial temperature
temperature steps (sequence)
time at each temperature
6
CALTECH CS137 Fall2005 -- DeHon
Basic Algorithm Sketch
• Pick an initial solution
• Set temperature (T) to initial value
• while (T>Tmin)
– for time at T
•
•
•
•
pick a move at random
compute Dcost
if less than zero, accept
else if (RND<e-Dcost/T), accept
– update T
7
CALTECH CS137 Fall2005 -- DeHon
Details
• Initial Temperature
– T0=Davg/ln(Paccept)
• Cooling schedule
– fixed ratio: T=lT
• (e.g. l=0.85)
– temperature dependent
– function of both temperature and acceptance rate
• example to come
• Time at each temperature
– fixed number of moves?
– fixed number of rejected moves?
– fixed fraction of rejected moves?
CALTECH CS137 Fall2005 -- DeHon
8
Cost Function
• Can be very general
– Combine area, timing, energy, routability…
• Should drive entire solution in right
direction
– reward each good move
• Should be cheap to compute delta costs
– e.g. FM
– Ideally O(1)
9
CALTECH CS137 Fall2005 -- DeHon
Example Cost Functions
• Total Wire Length
bbx
bby
– Linear, quadratic…
• Bounding Box (semi-perimeter)
– Surrogate for routed net length
• Channel widths
– probably wants to be more than just width
• Cut width
10
CALTECH CS137 Fall2005 -- DeHon
Bad Cost Functions
• Update cost
– rerun maze route on every move
– rerun timing analysis
– recalculate critical path delay
• Drive toward solution:
– size < threshold ?
– Critical path delay
11
CALTECH CS137 Fall2005 -- DeHon
VPR Wire Costs
• VPR Bounding Box


Cost  i 1 qi  bbx i   bby i  
Nets
Swartz, Betz, & Rose
FPGA 1998
Original table:
Cheng ICCAD 1994
12
CALTECH CS137 Fall2005 -- DeHon
VPR Timing Costs
•
•
•
•
Criticality(e)=1-Slack(e)/Dmax
TCost(e)=Delay(e)*Criticality(e)CriticalityExp
Keep all edge delays in a table
Recompute Net Criticality
at each Temperature
Marquardt, Betz, & Rose
FPGA2000
CALTECH CS137 Fall2005 -- DeHon
13
VPR Balance
Wire and Time Cost
 DTCost 
 DWCost 
DCost  l 
  1  l 

 OldTCost 
 OldWCost 
Marquardt, Betz, & Rose
FPGA2000
CALTECH CS137 Fall2005 -- DeHon
14
Initial Solution
• Spectral Placement
• Random
• Constructive Placement
– Fast placers start at lower temperature;
assume constructive got global right.
15
CALTECH CS137 Fall2005 -- DeHon
Moves
• Swap two cells
– Within some distance limit? (ex. to come)
• swap regions
– …rows, columns, subtrees
• rotate cell (when feasible)
• flip (mirror) cell
• permute cell inputs (equivalent inputs)
16
CALTECH CS137 Fall2005 -- DeHon
Variant
• Allow non-legal solutions
– capture badness in cost function
– E.g. -- allow cells to overlap
• Just make sure cost function makes
very expensive as cool
– settle out to legal solutions
17
CALTECH CS137 Fall2005 -- DeHon
Variant: “Rejectionless”
• Order moves by cost
– compare FM
• Pick random number first
• Use random to define range of move costs
will currently accept
• Pick randomly within this range
• Idea: never pick a costly move which will be
rejected
18
CALTECH CS137 Fall2005 -- DeHon
Theory
• If stay long enough at each cooling
stage
– will achieve tight error bound
• If cool long enough
– will find optimum
19
CALTECH CS137 Fall2005 -- DeHon
Practice
• Good results
– ultimately, what most commercial tools
use...what vpr uses…
• Slow convergence
• Tricky to pick schedules to accelerate
convergence
20
CALTECH CS137 Fall2005 -- DeHon
Range Limit
• Want to tune so accepting 44% of the
moves – Lam and Delosme DAC 1988
• VPR
– Define Rlimit – defines maximum Dx and
Dy accepted
– Tune Rlimit to maintain acceptance rate
– Rlimitnew=Rlimitold×(1-0.44+a)
 a is measured acceptance rate
21
CALTECH CS137 Fall2005 -- DeHon
VPR Cooling Schedule
• Moves at Temperature = cN4/3
• Temperature Update
– Tnew=Told×g
– Idea: advance slowly
in good a range
Betz, Rose, & Marquardt
Kluwer 1999
22
CALTECH CS137 Fall2005 -- DeHon
Range Limiting?
• Eguro alternate [DAC 2005]
– define P=D-M
– Tune M to control a
23
CALTECH CS137 Fall2005 -- DeHon
Range Limiting
CALTECH CS137 Fall2005 -- DeHon
Eurgo, Hauck, & Sharma DAC 2005
24
Big Hammer
• Costly, but general
• Works for most all problems
– (part, placement, route, retime, schedule…)
• Can have hybrid/mixed cost functions
– as long as weight to single potential
– (e.g. wire/time from VPR)
• With care, can attack multiple levels
– place and route
• Ignores structure of problem
– resignation to finding/understanding structure
25
CALTECH CS137 Fall2005 -- DeHon
Optimal/Exhaustive
26
CALTECH CS137 Fall2005 -- DeHon
• If you run simulated annealing long
enough….
– It should converge to optimum
• If you have enough monkeys typing at
keyboards keyboards long enough
– They’ll eventually produce the works of
Shakespeare….
27
CALTECH CS137 Fall2005 -- DeHon
Brute Force?
• If you are really going to give up on
structure and explore the entire space
– …there are more efficient ways to do it
• …and maybe they’re not terrible
– For small/modest problems
– As our computers get faster
28
CALTECH CS137 Fall2005 -- DeHon
Optimum Placement
• Simplest case:
– Gate/array (FPGA) w/ fixed cell locations
• N locations
• M cells
• Try all permutations of N choose M
N!/M! cases
29
CALTECH CS137 Fall2005 -- DeHon
Improving
• Prune off symmetry cases
– Rotate 90, 180, 270
– Mirror X, Y, XY
• Reject provably bad starts
– (return to in a minute)
30
CALTECH CS137 Fall2005 -- DeHon
Exhaustive Placement
• More general:
– Modules have variable size
– Modules can be rotated/flipped…
• To explore all cases:
– For each module
• For each orientation
31
CALTECH CS137 Fall2005 -- DeHon
Branch-and-Bound
• Consider dense 1D placement
– Search space of all placements
– Tree branch is choice of logical cell for
physical cell position
– Keep track of best solution so far as reach
leaves
– If partial solution worse than best solution,
prune branch
32
CALTECH CS137 Fall2005 -- DeHon
Pruning: 1D example
• Reducing channel width
– Have solution with width=10
– When find a partial solution with width>=10
• Can abort that branch
• Reducing Delay
– Have solution with delay=20
– When find a partial solution with delay>=20
• Can abort branch
33
CALTECH CS137 Fall2005 -- DeHon
Viable
• Only on small problems
– But “small” growing with machine speed
• Use for end-case in constructive
– Flatten bottom of hierarchy
– Maybe even in iteration/overlap relaxation
34
CALTECH CS137 Fall2005 -- DeHon
Caldwell et. al. Results
35
CALTECH CS137 Fall2005 -- DeHon
[TRCAD v19n11p1304-13]
Runtime
36
CALTECH CS137 Fall2005 -- DeHon
[TRCAD v19n11p1304-13]
Runtime
37
CALTECH CS137 Fall2005 -- DeHon
[TRCAD v19n11p1304-13]
Faster?
• Accounting and gain complexity
– Make it linear time
– But does make each update somewhat
complex
– Exhaustive case less bookkeeping
• Not an atypical result…
38
CALTECH CS137 Fall2005 -- DeHon
Summary
• Simulated Annealing
– use randomness to explore space
– accept “bad” moves to avoid local minima
– decrease tolerance over time
• General purpose solution
– costly in runtime
• Small (sub)problems
– May solve exhaustively
– Can prune to accelerate…
CALTECH CS137 Fall2005 -- DeHon
39
Admin
• Class Monday
• …but not W, F (finish assignment)
40
CALTECH CS137 Fall2005 -- DeHon
Big Ideas:
• Use randomness to explore large (nonconvex) space
– Simulated Annealing
• Use dominance to quickly skip over
obviously bad solutions
– Branch and Bound
41
CALTECH CS137 Fall2005 -- DeHon
Download