Penn ESE535 Spring 2015 -- DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 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)
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 12: February 23, 2011 Routing 2 (Pathfinder)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 11, 2015 Scheduling Introduction.
Introduction to Algorithms
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 10, 2013 Statistical Static Timing Analysis.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 17: April 2, 2008 Scheduling Introduction.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 23, 2008 Covering.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 22: April 11, 2011 Statistical Static Timing Analysis.
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 16: March 23, 2009 Covering.
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)
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 5: January 24, 2007 ALUs, Virtualization…
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 8: February 13, 2008 Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: January 28, 2015 Partitioning (Intro, KLFM)
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 26, 2015 Covering Work preclass exercise.
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 2: January 21, 2015 Heterogeneous Multicontext Computing Array Work Preclass.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 9, 2015 Scheduled Operator Sharing.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 18: April 1, 2015 Modern SAT Solvers ({z}Chaff, GRASP, miniSAT)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 14, 2011 Placement (Intro, Constructive)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: February 4, 2014 Partitioning 2 (spectral, network flow)
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 22, 2015 Statistical Static Timing Analysis.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 8, 2015 Sequential Optimization (FSM Encoding)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
Pipelining and Retiming
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 3: January 16, 2013 Scheduled Operator Sharing.
CALTECH CS137 Spring DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 26, 2004 Sequential Optimization (FSM Encoding)
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)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 17: March 11, 2002 Sequential Optimization (FSM Encoding)
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2015 Clustering (LUT Mapping, Delay)
Approximation Algorithms based on linear programming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: February 25, 2015 Placement (Intro, Constructive)
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.
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Integer Programming (정수계획법)
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Integer Programming (정수계획법)
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
CS137: Electronic Design Automation
Presentation transcript:

Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)

Penn ESE535 Spring DeHon 2 Today Problem Brute-Force/Exhaustive Greedy Estimators Analytical Provisioning ILP Schedule and Provision Behavioral (C, MATLAB, …) RTL Gate Netlist Layout Masks Arch. Select Schedule FSM assign Two-level, Multilevel opt. Covering Retiming Placement Routing

Penn ESE535 Spring DeHon 3 Previously General formulation for scheduled operator sharing – VLIW Fast algorithms for scheduling onto fixed resource set –List Scheduling More extensive algorithms for time- constrained –Force Directed, Branch-and-Bound

Penn ESE535 Spring DeHon 4 VLIW Address Instruction Memory + XX

Today How do we determine the set of resources? Penn ESE535 Spring DeHon 5 + XX

6 Today: Provisioning Given –An area budget –A graph to schedule –A library of operators Determine: –Delay minimizing set of operators Or delay-achieving set of operators –i.e. select the operator set + XX

Penn ESE535 Spring DeHon 7 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 8 Exhaustive How large is space of feasible operator sets? –As function of operator types – O –Types: add, multiply, divide, …. Maximum number of operators of type m

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

Penn ESE535 Spring DeHon 10 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? Schedule (maybe list-schedule?) Calculate benefit (maybe  /  A?) Pick largest benefit –Add one operator of that type How long does this run? –T schedule (E)* O(operator-types * A)

Greedy Incremental Work Preclass with greedy incremental –For each step half class evaluate each candidate resource Penn ESE535 Spring DeHon 11

Penn ESE535 Spring DeHon 12 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? Schedule (maybe list-schedule?) Calculate benefit (maybe  /  A?) Pick largest benefit –Add one operator of that type Weakness?

Penn ESE535 Spring DeHon 13 Example Find best 5 operator solution.

Penn ESE535 Spring DeHon 14 Example I A E B F C G J K D H Find best 5 operator solution.

Penn ESE535 Spring DeHon 15 Example I A E B F C G J K D H Find best 5 operator solution. SqDiaCirc A BE CF DGI H J K One of each.

Penn ESE535 Spring DeHon 16 Example I A E B F C G J K D H Find best 5 operator solution. SqDiaCirc A,B C,DE F GI H J K Two Squares

Penn ESE535 Spring DeHon 17 Example I A E B F C G J K D H Find best 5 operator solution. SqDiaCirc A BE CF DGI H J K Two Diamonds

Penn ESE535 Spring DeHon 18 Example I A E B F C G J K D H Find best 5 operator solution. SqDiaCirc A BE CF DGI H J K Two Circles

Penn ESE535 Spring DeHon 19 Example Find best 5 operator solution. Incremental addition does not accelerate. Which should greedy add?

Penn ESE535 Spring DeHon 20 Example I A E B F C G J K D H Find best 5 operator solution. SqDiaCirc A,B C,DE,F G,HI J K Two sqs + Two diamonds Max effect: Incremental may not suggest next single addition.

Analytic Formulation Penn ESE535 Spring DeHon 21

Penn ESE535 Spring DeHon 22 Challenge Scheduling expensive –O(|E|) or O(|E|*log(|V|)) using list-schedule Results not analytic –Cannot write an equation around them Bounds are sometimes useful –No precedence  is resource bound –Often one bound dominates Latency bound unaffected by operator count

Penn ESE535 Spring DeHon 23 Estimations Step 1: estimate with resource bound –O(|E|) vs. O(|V|) evaluation Step 2: use estimate in equations –T=max(N 1 /M 1,N 2 /M 2,….) Most useful when RB>>CP

Penn ESE535 Spring DeHon 24 Constraints Let A i be area of operator type i Let M i by number of operators of type i (start summary of variables on board)

Penn ESE535 Spring DeHon 25 Achieve Time Target Want to achieve a schedule in T cycles What constraint equation does that imply? (what property must hold?) Each resource bound must be less than T cycles:  N i /M i ≤ T

Penn ESE535 Spring DeHon 26 Algebraic Solve Set of equations –N i /M i ≤ T –  A i M i ≤ Area Assume equality for time bound N i /M i =T  M i =N i /T

Penn ESE535 Spring DeHon 27 Rearranging

Bounding T Gives Lower Bound on T Penn ESE535 Spring DeHon 28 Intuition: N of each is right balance given unbounded area; Scale to area available.

Preclass What is T lower for preclass? Penn ESE535 Spring DeHon 29

Penn ESE535 Spring DeHon 30 Back Substitute from T to x M i =N i /T M i won’t necessarily be integer –Round down definitely feasible solution –May have room to move a few up by 1 Reduces range may need to search –(just over the residual area once rounded down)

Preclass M i =N i /T T>=3 M add, M mpy ? M add = 8/3  2 or 3 M mpy = 4/3  1 or 2 Penn ESE535 Spring DeHon 31

Counter Example 1 Unit each Area = 4 Units What would analytic predict? What is best? How does CP compare to RB? Analytic Resource Estimate –Most useful when RB>>CP Penn ESE535 Spring DeHon 32

Analytic Counter Example How would greedy incremental work on this one? Penn ESE535 Spring DeHon 33

ILP Maybe we can do exhaustive, if we formulate properly. Penn ESE535 Spring DeHon 34

Penn ESE535 Spring DeHon 35 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  No products on variables, just linear weighted sums Can constrain variables to integers No polynomial time guarantee –But often practical –Solvers exist (significant piece on April 1 (seriously))

Penn ESE535 Spring DeHon 36 ILP Provision and Schedule Now to make it look like an ILP nail… Formulate operator selection and scheduling as ILP problem

Penn ESE535 Spring DeHon 37 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 operator selection and schedule This formulation for achieving a target time T (time constrained) – j ranges 0 to T-1

Penn ESE535 Spring DeHon 38 Target T  Min T Formulation targets T What if we don’t know T? –Want to minimize T? Do binary search for minimum T –How does that impact solution time?

Penn ESE535 Spring DeHon 39 Constraints What properties must hold true for a solution to be valid? 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 40 (1) Total Area Same as before

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

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

Penn ESE535 Spring DeHon 43 (4) Precedence Holds For each edge from node src to node snk Can narrow to sum over slack windows.

Example (Time Permitting) What are the ILP equations for the preclass example? 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 44

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

ILP Solver ILP Solver can take these constraints and find a solution (satisfying assignment) On Wednesday, will see how to start to make this practical Penn ESE535 Spring DeHon 46

Penn ESE535 Spring DeHon 47 Round up Algorithms and Runtimes Exhaustive Schedule Greedy Schedule Analytic Estimates ILP formulation

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

Penn ESE535 Spring DeHon 49 Admin Assignment 5 Thursday No class on Monday –Will have class on Wednesday No assignment 6 supplement –Focus on project and writeup Reading for Wednesday online