Download presentation
Presentation is loading. Please wait.
Published byJaylon Quinlan Modified over 9 years ago
1
courseware List-Based Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building 322 DK2800 Lyngby, Denmark
2
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
3
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 + * * *
4
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)
5
SoC-MOBINET courseware[M-1] High-Level Synthesis5 DFG and WPG From “Data Flow Graph” to “Weighted Precedence Graph”
6
SoC-MOBINET courseware[M-1] High-Level Synthesis6 ASAP Scheduling Minimum number of cycles with no resource limitation
7
SoC-MOBINET courseware[M-1] High-Level Synthesis7 ALAP Scheduling Minimum number of cycles with no resource limitation
8
SoC-MOBINET courseware[M-1] High-Level Synthesis8 Mobility Mobility tells which steps each operation can be placed
9
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
10
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)
11
SoC-MOBINET courseware[M-1] High-Level Synthesis11 Algorithm - example
12
SoC-MOBINET courseware[M-1] High-Level Synthesis12 Algorithm - solution Solution to running example
13
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)
14
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
15
SoC-MOBINET courseware[M-1] High-Level Synthesis15 Selection function Examples of Selection function calculations
16
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.
17
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
18
SoC-MOBINET courseware[M-1] High-Level Synthesis18 Results – Example 1 Chained operations with the number of cycles less than 8
19
SoC-MOBINET courseware[M-1] High-Level Synthesis19 Results – Example 2 Pipelined 16-point FIR filter. 2 types of functions units (Multiplier and adder)
20
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
21
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.