Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS137 Electronic Design Automation Day 9: February 25, 2004 Placement II André DeHon, Michael Wrighton.

Similar presentations


Presentation on theme: "CS137 Electronic Design Automation Day 9: February 25, 2004 Placement II André DeHon, Michael Wrighton."— Presentation transcript:

1

2 CS137 Electronic Design Automation Day 9: February 25, 2004 Placement II André DeHon, Michael Wrighton

3 DeHon/Wrighton CALTECH CS137 Winter2004 Today Continue with Placement Improving Quality  Avoiding local minima Techniques:  Simulated Annealing  Exhaustive (Branch-and-bound)

4 DeHon/Wrighton CALTECH CS137 Winter2004 Review: Cost Functions Total Wirelength Wirelength 2 Critical Path Delay  More on this later Close Things Placed Close

5 DeHon/Wrighton CALTECH CS137 Winter2004 First Cut Randomly place netlist Consider moves of nodes Perform those moves which improve some global cost metric When no more moves possible -- terminate

6 DeHon/Wrighton CALTECH CS137 Winter2004 Force-Directed Model netlist as being connected with springs F=kx Perform swaps when F is reduced

7 DeHon/Wrighton CALTECH CS137 Winter2004 Force Directed Swaps

8 DeHon/Wrighton CALTECH CS137 Winter2004 Problem: Greedy Approach Any greedy approach will tend to get wedged in some local minima  FM attacked problem by swapping all nodes even if negative gain

9 DeHon/Wrighton CALTECH CS137 Winter2004 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

10 DeHon/Wrighton CALTECH CS137 Winter2004 Key Benefit Avoid Local Minima  Allowed to take locally not improving moves in order to avoid being stuck Algorithm Progression Cost of Solution Local Minimum Best Solution Better Solution

11 DeHon/Wrighton CALTECH CS137 Winter2004 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

12 DeHon/Wrighton CALTECH CS137 Winter2004 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

13 DeHon/Wrighton CALTECH CS137 Winter2004 Basic Algorithm Sketch Pick an initial solution Set temperature (T) to initial value while (T> T min )  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

14 DeHon/Wrighton CALTECH CS137 Winter2004 Details Initial Temperature  T 0 =  avg/ln(P accept ) 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?

15 DeHon/Wrighton CALTECH CS137 Winter2004 Cost Function Can (Should) be very general Drive entire solution in right direction  reward each good move Should be cheap to compute delta costs  e.g. FM  O(1) ideally

16 DeHon/Wrighton CALTECH CS137 Winter2004 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

17 DeHon/Wrighton CALTECH CS137 Winter2004 Cost Functions Total Wire Length Bounding Box Semiperimeter  Exact estimate for up to 3 node nets VPR Bounding Box (improves apprx): q(i) varies from 1 -> 2.79 by the number of nodes on the net

18 DeHon/Wrighton CALTECH CS137 Winter2004 Timing Cost Function TimingCost(i,j) = Dly(i,j) ∙Critclty(i,j) CritcltyExp Maintain all delay’s (i -> j) in a lookup table Recompute Net Criticality @ Every Temperature Balance w/ Wiring Cost Function Marquardt, Betz, & Rose, 2000

19 DeHon/Wrighton CALTECH CS137 Winter2004 Multiple Cost Functions “Auto-Normalize” Function is not weighted on ‘absolute’ values

20 DeHon/Wrighton CALTECH CS137 Winter2004 Handling ‘Max’ Style Cost Functions Max(a1, a2, a3, a4…) is difficult to ‘drive’ annealing Instead: Minimize e a1 +e a2 +e a3 +e a4 +…

21 DeHon/Wrighton CALTECH CS137 Winter2004 Initial Solution Spectral Placement Random Constructive Placement

22 DeHon/Wrighton CALTECH CS137 Winter2004 Moves Swap two cells swap regions  …rows, columns, subtrees rotate cell (when feasible) flip (mirror) cell permute cell inputs (equivalent inputs)

23 DeHon/Wrighton CALTECH CS137 Winter2004 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

24 DeHon/Wrighton CALTECH CS137 Winter2004 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)

25 DeHon/Wrighton CALTECH CS137 Winter2004 Theory If stay long enough at each cooling stage  will achieve tight error bound If cool long enough  will find optimum Long Enough  If P ≠ NP – will be very long

26 DeHon/Wrighton CALTECH CS137 Winter2004 Practice Good results  ultimately, what most commercial tools use... Slow convergence Tricky to pick schedules to accelerate convergence

27 DeHon/Wrighton CALTECH CS137 Winter2004 Black Magic VPR Details  Rlimit new = Rlimit old (1-0.44+α) Maintain moves accepted at 44% Lam and Delosme  Moves @ Temp = cN 4/3  Temperature Update Schedule T new = T old ∙γ αγ α > 0.960.5 0.8 < α ≤ 0.960.9 0.15 < α ≤ 0.80.95 α ≤ 0.150.8 Empirical

28 DeHon/Wrighton CALTECH CS137 Winter2004 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 Big Hammer

29 Optimal/Exhaustive

30 DeHon/Wrighton CALTECH CS137 Winter2004 More on Long Enough… 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….

31 DeHon/Wrighton CALTECH CS137 Winter2004 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

32 DeHon/Wrighton CALTECH CS137 Winter2004 Optimum Placement Simplest case:  Gate/array (FPGA) w/ fixed cell locations N locations M cells Try all permutations of N choose M N!/(N-M)! cases

33 DeHon/Wrighton CALTECH CS137 Winter2004 Improving Prune off symmetry cases  Rotate 90, 180, 270  Mirror X, Y, XY Reject provably bad starts  (return to in a minute)

34 DeHon/Wrighton CALTECH CS137 Winter2004 Exhaustive Placement More general:  Modules have variable size  Modules can be rotated/flipped… To explore all cases:  For each module For each orientation

35 DeHon/Wrighton CALTECH CS137 Winter2004 Branch-and-Bound Recall from Logic Optimization 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

36 DeHon/Wrighton CALTECH CS137 Winter2004 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

37 DeHon/Wrighton CALTECH CS137 Winter2004 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

38 DeHon/Wrighton CALTECH CS137 Winter2004 Caldwell et. al. Results [TRCAD v19n11p1304-13]

39 DeHon/Wrighton CALTECH CS137 Winter2004 Runtime [TRCAD v19n11p1304-13]

40 DeHon/Wrighton CALTECH CS137 Winter2004 Faster? Accounting and gain complexity  Make it linear time  But do make each update somewhat complex  Exhaustive case less bookkeeping Not an atypical result…

41 DeHon/Wrighton CALTECH CS137 Winter2004 Admin Will Meet on Monday Should have feedback from Dehon Reminder: No Support for Non-Standard Tools  Jython, Optik, M3, C, Perl, Tcl/Tk, etc. Reading  Scheduling

42 DeHon/Wrighton CALTECH CS137 Winter2004 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…

43 DeHon/Wrighton CALTECH CS137 Winter2004 Big Ideas: Use randomness to explore large (non- convex) space  Simulated Annealing Use dominance to quickly skip over obviously bad solutions  Branch and Bound


Download ppt "CS137 Electronic Design Automation Day 9: February 25, 2004 Placement II André DeHon, Michael Wrighton."

Similar presentations


Ads by Google