EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.

Slides:



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

Simulated Annealing Premchand Akella. Agenda Motivation The algorithm Its applications Examples Conclusion.
Simulated Annealing Methods Matthew Kelly April 12, 2011.
Applying Machine Learning to Circuit Design David Hettlinger Amy Kerr Todd Neller.
100 Placement Assign logic blocks to specific chip locations Seek to minimize routing distance, congestion CLB IOB.
Local search algorithms
Local search algorithms
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: March 4, 2008 Placement (Intro, Constructive)
Iterative improvement algorithms Prof. Tuomas Sandholm Carnegie Mellon University Computer Science Department.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 13, 2009 Placement II (Simulated Annealing)
MAE 552 – Heuristic Optimization Lecture 6 February 6, 2002.
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.
EDA (CS286.5b) Day 6 Partitioning: Spectral + MinCut.
Reconfigurable Computing (EN2911X, Fall07)
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 13: February 26, 2007 Interconnect 1: Requirements.
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) …
1 Simulated Annealing Terrance O ’ Regan. 2 Outline Motivation The algorithm Its applications Examples Conclusion.
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
Informed Search Chapter 4 Adapted from materials by Tim Finin, Marie desJardins, and Charles R. Dyer CS 63.
CSE 144 Project Part 2. Overview Multiple rows Routing channel between rows Components of identical height but various width Goal: Implement a placement.
Threshold Voltage Assignment to Supply Voltage Islands in Core- based System-on-a-Chip Designs Milestone 2: Steven Beigelmacher Gall Gotfried
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
Elements of the Heuristic Approach
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 4, 2005 Interconnect 1: Requirements.
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)
Simulated Annealing.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 17: November 11, 2005 Placement (Simulated Annealing…)
Dr.Abeer Mahmoud ARTIFICIAL INTELLIGENCE (CS 461D) Dr. Abeer Mahmoud Computer science Department Princess Nora University Faculty of Computer & Information.
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)
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
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.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Probabilistic Algorithms Evolutionary Algorithms Simulated Annealing.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 9: February 9, 2004 Partitioning (Intro, KLFM)
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)
Local Search Algorithms and Optimization Problems
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.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Simulated Annealing (SA)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: February 25, 2015 Placement (Intro, Constructive)
CS137 Electronic Design Automation Day 9: February 25, 2004 Placement II André DeHon, Michael Wrighton.
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.
Constraints Satisfaction Edmondo Trentin, DIISM. Constraint Satisfaction Problems: Local Search In many optimization problems, the path to the goal is.
Local search algorithms In many optimization problems, the path to the goal is irrelevant; the goal state itself is the solution State space = set of "complete"
Local Search Algorithms
CS137: Electronic Design Automation
Artificial Intelligence (CS 370D)
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
More on Search: A* and Optimization
Xin-She Yang, Nature-Inspired Optimization Algorithms, Elsevier, 2014
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Local Search Algorithms
Local Search Algorithms
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday

Today Placement Simulated Annealing –big hammer –iterative improvement –randomness –avoid local minima

Placement Problem: Pick locations for all building blocks –minimizing energy, delay, area –really: minimize wire length minimize channel density

Bad Placement How bad can it be? –Area –delay –energy

Bad: Area All wires cross bisection O(N 2 ) area good: O(N)

Bad: Delay All critical path wires cross chip Delay =O(|PATH|*2*L side ) –[and L side as O(N)] good: O(|PATH|* L cell ) compare 100ps gates to many nanoseconds

Distance Can we place everything close?

“Closeness” Try placing “everything” close

Problem Characteristics Familiar –NP Complete –local, greedy not work –greedy gets stuck in local minima

Simulated Annealing Physically motivated approach Physical world has similar problems –objections/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

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

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

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

Details Initial Temperature –T0=  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?

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

Cost Functions Total Wire Length Channel widths –probably wants to be more than just width Cut width

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

Initial Solution Spectral Placement (last time) Random Constructive Placement

Moves Swap two cells swap regions –…rows, columns, subtrees rotate cell (when feasible) flip (mirror) cell permute cell inputs (equivalent inputs)

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

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)

Theory If stay long enough at each cooling stage –will achieve tight error bound If cool long enough –will find optimum

Practice Good results –ultimately, what most commercial tools use... Slow convergence Tricky to pick schedules to accelerate convergence

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 case, can attack multiple levels –place and route Ignores structure of problem –resignation to finding/understanding structure

Summary Placement –problem –importance Simulated Annealing –use randomness to explore space –accept “bad” moves to avoid local minima –decrease tolerance over time General purpose solution –costly in runtime

Today’s Big Ideas: Exploit “freedom” in problem to reduce costs Use randomness to explore large space