Penn ESE535 Spring 2009 -- DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)

Slides:



Advertisements
Similar presentations
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
EDA (CS286.5b) Day 10 Scheduling (Intro Branch-and-Bound)
Introduction to Algorithms
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
EE 553 Integer Programming
Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer.
Computational problems, algorithms, runtime, hardness
Tirgul 12 Algorithm for Single-Source-Shortest-Paths (s-s-s-p) Problem Application of s-s-s-p for Solving a System of Difference Constraints.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 17: April 2, 2008 Scheduling Introduction.
Branch and Bound Searching Strategies
Carnegie Mellon 1 Optimal Scheduling “in a lifetime” for the SPIRAL compiler Frédéric de Mesmay Theodoros Strigkos based on Y. Voronenko’s idea.
Computational Methods for Management and Economics Carla Gomes
Approximation Algorithms
Penn ESE Fall DeHon 1 ESE (ESE534): Computer Organization Day 19: March 26, 2007 Retime 1: Transformations.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
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 20: April 7, 2008 Scheduling Variants and Approaches.
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 12: March 2, 2009 Sequential Optimization (FSM Encoding)
Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 9, 2009 Scheduling Variants and Approaches.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
EDA (CS286.5b) Day 18 Retiming. Today Retiming –cycle time (clock period) –C-slow –initial states –register minimization.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 13, 2008 Retiming.
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Decision Procedures An Algorithmic Point of View
Design Techniques for Approximation Algorithms and Approximation Classes.
Types of IP Models All-integer linear programs Mixed integer linear programs (MILP) Binary integer linear programs, mixed or all integer: some or all of.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
Logical Topology Design
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 7: February 3, 2002 Retiming.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
Integer Programming (정수계획법)
3 Components for a Spreadsheet Optimization Problem  There is one cell which can be identified as the Target or Set Cell, the single objective of the.
8/14/04 J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 6 – Integer Programming Models Topics.
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
Review for E&CE Find the minimal cost spanning tree for the graph below (where Values on edges represent the costs). 3 Ans. 18.
Branch and Bound Searching Strategies
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Approximation Algorithms based on linear programming.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: January 31, 2011 Scheduling Variants and Approaches.
Solver & Optimization Problems
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Integer Programming (정수계획법)
ESE535: Electronic Design Automation
Integer Programming (정수계획법)
ESE535: Electronic Design Automation
Constraint satisfaction problems
Warmup Does the function f(x) = 3x2 + 6x have a maximum or a minimum value?
“Rate-Optimal” Resource-Constrained Software Pipelining
Constraint satisfaction problems
CS137: Electronic Design Automation
Presentation transcript:

Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)

Penn ESE535 Spring DeHon 2 Today Problem Brute-Force/Exhaustive Greedy Estimators LP/ILP Provision ILP Schedule and Provision

Penn ESE535 Spring DeHon 3 Previously General formulation for scheduled operator sharing – VLIW Fast algorithms for scheduling onto fixed resource set –List Scheduling

Penn ESE535 Spring DeHon 4 Today: Provisioning Given –An area budget –A graph to schedule –A Library of operators Determine: –Best (delay minimizing) set of operators –i.e. select the operator set

Penn ESE535 Spring DeHon 5 Exhaustive 1.Identify all area-feasible operator sets –E.g. preclass exercise 2.Schedule for each 3.Select best  optimal Drawbacks?

Penn ESE535 Spring DeHon 6 Exhaustive How large is space of feasible operator sets? –As function of operator types – N –Types: add, multiply, divide, …. Maximum number of operators of type M

Penn ESE535 Spring DeHon 7 Size of Feasible Space Consider 10 operators –For simplicity all of unit area Total area of 100 How many cases?

Penn ESE535 Spring DeHon 8 Implication Feasible operator space can be too large to explore exhaustively

Penn ESE535 Spring DeHon 9 Greedy Incremental Start with one of each operator While (there is area to hold an operator) –Which single operator Can be added without exceeding area limit? And Provides largest benefit? –Add one operator of that type How long does this run? Weakness?

Penn ESE535 Spring DeHon 10 Example Find best 5 operator solution. original: not quite demo.

Penn ESE535 Spring DeHon 11 Example Find best 6 operator solution. Review if this captures

Penn ESE535 Spring DeHon 12 Estimators Scheduling expensive –O(|E|) or O(|E|*log(|V|)) using list-schedule Results not analytic –Cannot write an equation around them Saw earlier bounds sometimes useful –No precedence  is resource bound –Often one bound dominates

Penn ESE535 Spring DeHon 13 Estimations Step 1: estimate with resource bound –O(|E|) vs. O(N) evaluation Step 2: use estimate in equations –T=max(N 1 /R 1,N 2 /R 2,….)

Penn ESE535 Spring DeHon 14 LP Formulation Linear Programming Formulate set of linear equation constraints (inequalities)  Ax 0 +Bx 1 +Cx 2 ≤ D  x 0 +x 1 =1  A,B,C,D – constants  x i – variables to satisfy Solve in polynomial time –Software packages exist Solutions are real (not integers)

Penn ESE535 Spring DeHon 15 LP Constraints Let A i be area of operator type i Let x i by number of operators of type i

Penn ESE535 Spring DeHon 16 Achieve Time Target Want to achieve a schedule in T cycles Each resource bound must be less than T cycles:  N i /x i < T But do we know T? Do binary search for minimum T –How does that impact solution time?

Penn ESE535 Spring DeHon 17 LP returns reals Solution to LP will be reals –X 0 = 1.76 Not constrained to integers Try to round results –Sometimes works well enough For some problems, can prove optimal

Penn ESE535 Spring DeHon 18 ILP Integer Linear Programming Can constrain variables to integers No longer polynomial time guarantee –But often practical –Solvers exist Option: ILP formulation on estimates

Penn ESE535 Spring DeHon 19 ILP Provision and Schedule Possible to formulate whole operator selection and scheduling as ILP problem

Penn ESE535 Spring DeHon 20 Formulation Integer variables M i – number of operators of type i 0-1 (binary) variables x i,j –1 if node I is scheduled into timestep j –0 otherwise Variable assignment completely specifies schedule This formulation also for achieving a target time T – j ranges 0 to T-1

Penn ESE535 Spring DeHon 21 Constraints 1.Total area constraints 2.Not assign too many things to a timestep 3.Assign every node to some timestep 4.Maintain precedence

Penn ESE535 Spring DeHon 22 (1) Total Area Same as before

Penn ESE535 Spring DeHon 23 (2) Not overload timestep For each timestep j –For each operator type k

Penn ESE535 Spring DeHon 24 (3) Node is scheduled For each node in graph Can narrow to sum over slack window.

Penn ESE535 Spring DeHon 25 (4) Precedence Holds For each edge from node i to node k Can narrow to sum over slack windows.

Penn ESE535 Spring DeHon 26 Round up Algorithms and Runtimes Exhaustive Schedule Exhaustive Resource Bound Estimate Greedy Schedule LP on estimates –Particular time bound –Minimize time ILP on estimates and exact –Particular time bound –Minimize time

Penn ESE535 Spring DeHon 27 Admin Assignment 2 out –Programming assignment –Now in two pieces Reading on web

Penn ESE535 Spring DeHon 28 Big Ideas: Estimators Dominating Effects Reformulate as a problem we already have a solution for –LP, ILP Technique: Greedy Technique: ILP