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

Slides:



Advertisements
Similar presentations
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Advertisements

CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
ECE 667 Synthesis and Verification of Digital Circuits
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
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.
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 ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 23, 2008 Covering.
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 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
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.
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2009 Partitioning 2 (spectral, network flow)
ECE Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach.
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.
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 13, 2008 Retiming.
LP formulation of Economic Dispatch
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
Decision Procedures An Algorithmic Point of View
ENCI 303 Lecture PS-19 Optimization 2
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.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
Review for E&CE Find the minimal cost spanning tree for the graph below (where Values on edges represent the costs). 3 Ans. 18.
Logical Topology Design
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
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)
Chap 10. Integer Prog. Formulations
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.
Review for E&CE Find the minimal cost spanning tree for the graph below (where Values on edges represent the costs). 3 Ans. 18.
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.
Approximation Algorithms Duality My T. UF.
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.
Chap 10. Sensitivity Analysis
Solver & Optimization Problems
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Integer Programming (정수계획법)
ESE535: Electronic Design Automation
Integer Programming (정수계획법)
ESE535: Electronic Design Automation
Does the function f(x) = 3x2 + 6x have a maximum or a minimum value?
Warmup Does the function f(x) = 3x2 + 6x have a maximum or a minimum value?
Graphical solution A Graphical Solution Procedure (LPs with 2 decision variables can be solved/viewed this way.) 1. Plot each constraint as an equation.
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 Analytical Provisioning 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 Constraints Let A i be area of operator type i Let x i by number of operators of type i

Penn ESE535 Spring DeHon 15 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

Penn ESE535 Spring DeHon 16 Algebraic Solve Set of equations –N i /x i ≤ T –  A i x i ≤ Area Assume equality N i /x i =T  x i =N i /T

Penn ESE535 Spring DeHon 17 Rearranging

Penn ESE535 Spring DeHon 18 Back Substitute x i =N i /T x i won’t necessarily be integer –Round down definitely feasible solution –May have room to move a few up by 1

Penn ESE535 Spring DeHon 19 ILP Integer 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 Can constrain variables to integers No polynomial time guarantee –But often practical –Solvers exist

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

Penn ESE535 Spring DeHon 21 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 for achieving a target time T – j ranges 0 to T-1

Penn ESE535 Spring DeHon 22 Target T  Min T Formulation targets T But do we know T? Do binary search for minimum T –How does that impact solution time?

Penn ESE535 Spring DeHon 23 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 24 (1) Total Area Same as before

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

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

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

Penn ESE535 Spring DeHon 28 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 29 Admin Assignment 2 out –Programming assignment –Now in two pieces Reading on web

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