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

Slides:



Advertisements
Similar presentations
EDA (CS286.5b) Day 10 Scheduling (Intro Branch-and-Bound)
Advertisements

Games & Adversarial Search Chapter 5. Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent’s reply. Time.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
Games & Adversarial Search
100 Placement Assign logic blocks to specific chip locations Seek to minimize routing distance, congestion CLB IOB.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: March 4, 2008 Placement (Intro, Constructive)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 13, 2009 Placement II (Simulated Annealing)
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 20, 2008 Partitioning (Intro, KLFM)
Placement 1 Outline Goal What is Placement? Why Placement?
EDA (CS286.5b) Day 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
Reconfigurable Computing (EN2911X, Fall07)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
Simulated Annealing 10/7/2005.
EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Review Best-first search uses an evaluation function f(n) to select the next node for expansion. Greedy best-first search uses f(n) = h(n). Greedy best.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
Backtracking.
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
Placement by Simulated Annealing. Simulated Annealing  Simulates annealing process for placement  Initial placement −Random positions  Perturb by block.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: January 28, 2015 Partitioning (Intro, KLFM)
ESE Spring DeHon 1 ESE534: Computer Organization Day 19: April 7, 2014 Interconnect 5: Meshes.
Simulated Annealing.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 17: November 11, 2005 Placement (Simulated Annealing…)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
Dr.Abeer Mahmoud ARTIFICIAL INTELLIGENCE (CS 461D) Dr. Abeer Mahmoud Computer science Department Princess Nora University Faculty of Computer & Information.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 14, 2011 Placement (Intro, Constructive)
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 23, 2002 Partitioning (Intro, KLFM)
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 14: February 10, 2003 Interconnect 4: Switching.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 9: February 9, 2004 Partitioning (Intro, KLFM)
Optimization Problems
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: February 27, 2002 Routing 2 (Pathfinder)
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 6, 2003 Interconnect 3: Richness.
FPGA CAD 10-MAR-2003.
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
An Introduction to Simulated Annealing Kevin Cannons November 24, 2005.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 16, 2011 Placement II (Simulated Annealing)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: January 30, 2013 Partitioning (Intro, KLFM)
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: February 25, 2015 Placement (Intro, Constructive)
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 2: September 28, 2005 Covering.
CALTECH CS137 Winter DeHon 1 CS137: Electronic Design Automation Day 8: January 27, 2006 Cellular Placement.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Placement and Routing Algorithms. 2 FPGA Placement & Routing.
Optimization Problems
CS137: Electronic Design Automation
Local Search Algorithms
CS137: Electronic Design Automation
CS137: Electronic Design Automation
ESE534: Computer Organization
Optimization Problems
ESE535: Electronic Design Automation
More on Search: A* and Optimization
Xin-She Yang, Nature-Inspired Optimization Algorithms, Elsevier, 2014
ESE535: Electronic Design Automation
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
More on HW 2 (due Jan 26) Again, it must be in Python 2.7.
Local Search Algorithms
CS137: Electronic Design Automation
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

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

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

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

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

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

DeHon/Wrighton CALTECH CS137 Winter2004 Force Directed Swaps

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

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

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

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

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

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

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?

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

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

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

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 Every Temperature Balance w/ Wiring Cost Function Marquardt, Betz, & Rose, 2000

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

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 +…

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

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)

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

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)

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

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

DeHon/Wrighton CALTECH CS137 Winter2004 Black Magic VPR Details  Rlimit new = Rlimit old ( α) Maintain moves accepted at 44% Lam and Delosme  Temp = cN 4/3  Temperature Update Schedule T new = T old ∙γ αγ α > < α ≤ < α ≤ α ≤ Empirical

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

Optimal/Exhaustive

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….

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

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

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)

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

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

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

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

DeHon/Wrighton CALTECH CS137 Winter2004 Caldwell et. al. Results [TRCAD v19n11p ]

DeHon/Wrighton CALTECH CS137 Winter2004 Runtime [TRCAD v19n11p ]

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…

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

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…

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