Presentation is loading. Please wait.

Courseware List-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,

Presentation on theme: "Courseware List-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,"— Presentation transcript:

courseware List-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark

SoC-MOBINET courseware[M-1] High-Level Synthesis2 Overview  Introduction  Related work  DFG and WPG  ASAP, ALAP and Mobility  Solution:  Algorithm  Selection function  Extenstions  Time complexity  Results  Conclussion

SoC-MOBINET courseware[M-1] High-Level Synthesis3 Introduction  Given a DFG we want to schedule operations to minimize the number of functional units needed (adders, multiplier, ALUs, etc.)  Input to algorithm  DFG  Number of cycles.(Not less than shortest path in DFG)  Model must include  Pipelined operations  Chained operations  Multicycle operations + * * *

SoC-MOBINET courseware[M-1] High-Level Synthesis4 Related Work  Other algorithms fix operations one by one  Tend to find local minima instead of global minima  ILP(Integer Linear programming)  Finds global minima  Is an exponential time algorithm and are not usable for large data-sets  This algorithm can escape local minimals by making several iterations.  Tend to find global minimaes (But, no guarantee)

SoC-MOBINET courseware[M-1] High-Level Synthesis5 DFG and WPG  From “Data Flow Graph” to “Weighted Precedence Graph”

SoC-MOBINET courseware[M-1] High-Level Synthesis6 ASAP Scheduling  Minimum number of cycles with no resource limitation

SoC-MOBINET courseware[M-1] High-Level Synthesis7 ALAP Scheduling  Minimum number of cycles with no resource limitation

SoC-MOBINET courseware[M-1] High-Level Synthesis8 Mobility  Mobility tells which steps each operation can be placed

SoC-MOBINET courseware[M-1] High-Level Synthesis9 Algorithm - overview  Starts from ASAP/ALAP  Iteratively moves operations based on selection function S i (j,k). (Must not violate WPG)  If no ”good” moves are possible, ”bad” ones are taken.  Stops when there are no movable operations  Select best solution based on cost function from all solutions explored. (Fx. number of functional units)  Repeat the above iteration while the solution improves

SoC-MOBINET courseware[M-1] High-Level Synthesis10 Algorithm - pseudu repeat{ Count=1 While movable operations{ select tuple(i, k) with maximum S i (j,k) move O i to step k lock tuple(i, k) gain count =change in cost when moving O i to step k } find k that maximizes if(gain max >0) Move operations 1 to k }until(gain max <=0)

SoC-MOBINET courseware[M-1] High-Level Synthesis11 Algorithm - example

SoC-MOBINET courseware[M-1] High-Level Synthesis12 Algorithm - solution  Solution to running example

SoC-MOBINET courseware[M-1] High-Level Synthesis13 Selection Function  In each step the selection function  Causes most balanced distribution of operations  Reduces number of required functional units.  Expresses the gain by moving O i from step j to k  Proportional with  Maximal density at step j and k  Change in Density Gradient(DG) (Density[i] is the number of functional units at step i)

SoC-MOBINET courseware[M-1] High-Level Synthesis14 Selection function  “Change in Density Gradient” (CDG)  CDG equals (Only concerns the 2 affected steps)  2Number of functional units decreases by 1  0No change in number of functional units needed  -2Number of functional units increases by 1

SoC-MOBINET courseware[M-1] High-Level Synthesis15 Selection function  Examples of Selection function calculations

SoC-MOBINET courseware[M-1] High-Level Synthesis16 Extensions  Mutually Exclusive(ME) operations  Fx. an if-else statement. Operations that are ME can be placed in the same step on the same functional unit  Chained operations  Are already incoporated into the WPG  Multi-cycle operations  Are included in the WPG, but selection function must be expanded.  Pipelined operations  I do not understand the articles interpretation of a pipeline. Shall be treated as a multi-cycle operation.

SoC-MOBINET courseware[M-1] High-Level Synthesis17 Time complexity mNumber of operations in DFG SNumber of control steps nTotal number of tuples( max=Sm)  After each move update cost O(m*log(m))  This must be done for all tuples O(nm*log(m))) = (Sm 2 *log(m))  Practial time complexity (stated by authors) O(n*log(m)) (since n i independant of m)  Number of iterations is assumed independent of problem

SoC-MOBINET courseware[M-1] High-Level Synthesis18 Results – Example 1  Chained operations with the number of cycles less than 8

SoC-MOBINET courseware[M-1] High-Level Synthesis19 Results – Example 2  Pipelined 16-point FIR filter. 2 types of functions units (Multiplier and adder)

SoC-MOBINET courseware[M-1] High-Level Synthesis20 Results – Example 3  5 th order elliptic filter with25 additions and 8 multiplications. Multiply is a multicycle operation

SoC-MOBINET courseware[M-1] High-Level Synthesis21 Conclusion  Very fast an effective  Can escape local minima  Tend to reach optimal solution. (At least for all experimental results so far)  Must faster than than previous approaches.  Handles multicycled, chained and pipelined operations.  Possible to use more sophisticated selection functions.

Download ppt "Courseware List-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads,"

Similar presentations

Ads by Google