CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002...
-
Upload
kristina-walker -
Category
Documents
-
view
215 -
download
0
Transcript of CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002...
![Page 1: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/1.jpg)
CALTECH CS137 Winter2002 -- DeHon
CS137:Electronic Design Automation
Day 10: February 6, 2002
Placement
(Simulated Annealing…)
![Page 2: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/2.jpg)
CALTECH CS137 Winter2002 -- DeHon
Today
• Placement
• Improving Quality– Avoiding local minima
• Techniques:– Simulated Annealing– Exhaustive (Branch-and-bound)
![Page 3: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/3.jpg)
CALTECH CS137 Winter2002 -- 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
![Page 4: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/4.jpg)
CALTECH CS137 Winter2002 -- DeHon
Key Benefit
• Avoid Local Minima– Allowed to take locally not improving
moves in order to avoid being stuck
![Page 5: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/5.jpg)
CALTECH CS137 Winter2002 -- 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
![Page 6: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/6.jpg)
CALTECH CS137 Winter2002 -- DeHon
Design Optimization
Components:• “Energy” (Cost) function to minimize
– represent entire state, drives system forward
• Moves– local rearrangement/transformation of solution
• Cooling schedule– initial temperature– temperature steps (sequence)– time at each temperature
![Page 7: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/7.jpg)
CALTECH CS137 Winter2002 -- 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 cost• if less than zero, accept• else if RND<e-cost/T, accept
– update T
![Page 8: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/8.jpg)
CALTECH CS137 Winter2002 -- DeHon
Details
• Initial Temperature– T0=avg/ln(Paccept)
• Cooling schedule– fixed ratio: T=T
• (e.g. =0.85)
– temperature dependent
• Time at each temperature– fixed number of moves?– Fixed number of rejected moves?– Fixed fraction of rejected moves?
![Page 9: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/9.jpg)
CALTECH CS137 Winter2002 -- DeHon
Cost Function
• Can be very general
• Should drive entire solution in right direction– reward each good move
• Should be cheap to compute delta costs– e.g. FM
![Page 10: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/10.jpg)
CALTECH CS137 Winter2002 -- DeHon
Cost Functions
• Total Wire Length
• Channel widths– probably wants to be more than just width
• Cut width
![Page 11: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/11.jpg)
CALTECH CS137 Winter2002 -- 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
![Page 12: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/12.jpg)
CALTECH CS137 Winter2002 -- DeHon
Initial Solution
• Spectral Placement
• Random
• Constructive Placement
![Page 13: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/13.jpg)
CALTECH CS137 Winter2002 -- DeHon
Moves
• Swap two cells
• swap regions – …rows, columns, subtrees
• rotate cell (when feasible)
• flip (mirror) cell
• permute cell inputs (equivalent inputs)
![Page 14: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/14.jpg)
CALTECH CS137 Winter2002 -- 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
![Page 15: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/15.jpg)
CALTECH CS137 Winter2002 -- 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
• (never pick a costly move which will reject)
![Page 16: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/16.jpg)
CALTECH CS137 Winter2002 -- DeHon
Theory
• If stay long enough at each cooling stage– will achieve tight error bound
• If cool long enough– will find optimum
![Page 17: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/17.jpg)
CALTECH CS137 Winter2002 -- DeHon
Practice
• Good results– ultimately, what most commercial tools
use...
• Slow convergence
• Tricky to pick schedules to accelerate convergence
![Page 18: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/18.jpg)
CALTECH CS137 Winter2002 -- DeHon
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
• With care, can attack multiple levels– place and route
• Ignores structure of problem– resignation to finding/understanding structure
![Page 19: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/19.jpg)
CALTECH CS137 Winter2002 -- DeHon
Optimal/Exhaustive
![Page 20: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/20.jpg)
CALTECH CS137 Winter2002 -- 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….
![Page 21: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/21.jpg)
CALTECH CS137 Winter2002 -- 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
![Page 22: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/22.jpg)
CALTECH CS137 Winter2002 -- 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
![Page 23: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/23.jpg)
CALTECH CS137 Winter2002 -- DeHon
Improving
• Prune off symmetry cases– Rotate 90, 180, 270– Mirror X, Y, XY
• Reject provably bad starts– (return to in a minute)
![Page 24: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/24.jpg)
CALTECH CS137 Winter2002 -- DeHon
Exhaustive Placement
• More general:– Modules have variable size– Modules can be rotated/flipped…
• To explore all cases:– For each module
• For each orientation
![Page 25: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/25.jpg)
CALTECH CS137 Winter2002 -- DeHon
Branch-and-Bound
• Flavor now– More next week
• 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
![Page 26: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/26.jpg)
CALTECH CS137 Winter2002 -- 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
![Page 27: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/27.jpg)
CALTECH CS137 Winter2002 -- 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
![Page 28: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/28.jpg)
CALTECH CS137 Winter2002 -- DeHon
Caldwell et. al. Results
[TRCAD v19n11p1304-13]
![Page 29: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/29.jpg)
CALTECH CS137 Winter2002 -- DeHon
Runtime
[TRCAD v19n11p1304-13]
![Page 30: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/30.jpg)
CALTECH CS137 Winter2002 -- DeHon
Faster?
• Accounting and gain complexity– Make it linear time– But do make each update somewhat
complex– Exhaustive case less bookkeeping
• Not an atypical result…
![Page 31: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/31.jpg)
CALTECH CS137 Winter2002 -- 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…
![Page 32: CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)](https://reader036.fdocuments.in/reader036/viewer/2022081603/56649f275503460f94c3ec32/html5/thumbnails/32.jpg)
CALTECH CS137 Winter2002 -- DeHon
Big Ideas:
• Use randomness to explore large (non-convex) space– Simulated Annealing
• Use dominance to quickly skip over obviously bad solutions– Branch and Bound