Ordonnancement de systmes Alpha structurs - PowerPoint PPT Presentation

About This Presentation
Title:

Ordonnancement de systmes Alpha structurs

Description:

Mauras, Quinton, Rajopadhye, Saouter 91. dual representation of polyhedra ... Patrice Quinton, Tanguy Risset. Scheduling in CAD community ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 48
Provided by: Ris5
Category:

less

Transcript and Presenter's Notes

Title: Ordonnancement de systmes Alpha structurs


1
Ordonnancement de systèmes Alpha structurés
  • Patrice Quinton, Tanguy Risset
  • Séminaire Roscoff

2
Outline
  • Cyclic scheduling state of the art
  • Scheduling in MMAlpha
  • Experiments in MMAlpha

3
Review origin
  • 1967 Karp, Miller et Winograd
  • uniform recurrence equations
  • reduced dependence graph
  • cyclic scheduling (1 Eq.)
  • use duality theory of linear programming
  • multi-dimensional cyclic scheduling

4
Review affine dependences
  • Feautrier 92
  • Farkas Lemma
  • Darte 92
  • Duality fundamental theorem
  • Mauras, Quinton, Rajopadhye, Saouter 91
  • dual representation of polyhedra
  • Do not handle resource constraints

5
Scheduling in CAD community
  • Schedule of an acyclic graph under resource
    constraints
  • Heuristics
  • list scheduling, FDS, Sim. Al.
  • Exact method
  • Integer linear programming
  • Does not handle loops

6
Scheduling in the compiler community
  • Problem tackled
  • instruction level parallelism
  • resource constraints or register constraints
  • Software pipelining loop unrolling
  • heuristics
  • integer linear programming
  • One single uniform loop

7
Recent work exact solution
  • Dirk Fimmel, Jan Muller
  • solve resource constraints, register constraints
    and initiation interval in a single ILP
  • minimize latency with respect to dependences,
    register and resource constraints.

8
Recent work heuristics
  • Gasperoni, Eisenbeis, Darte Robert
  • transform the cyclic 1D problem into an acyclic
    one

9
Recent work heuristics
10
Resource constrained scheduling
11
Questions
  • How do we adapt these theories
  • software pipelining
  • resource constraints scheduling
  • to polyedral hardware generation with MMAlpha?

12
Outline
  • Cyclic scheduling state of the art
  • Scheduling in MMAlpha
  • Experiments in MMAlpha

13
Scheduling in MMAlpha
  • Alpha language
  • dedicated language for the design of systolic
    array
  • express static control loop programs
  • MMAlpha
  • Alpha program manipulating environment
  • silicon compilation of loop nests

14
Design flow with MMAlpha
Uniformization
Scheduling
RTL Derivation
15
Classical linear schedule in MMAlpha design flow
16
Classical linear schedule in MMAlpha design flow
17
Classical linear schedule in MMAlpha design flow
18
Classical linear schedule in MMAlpha design flow
schedule scheduleType -gt sameLinearPart,
durations -gt 0,0,1,4,2,6,10,14,0,0,
addConstraints -gt / linear constraints /
19
Multi-dimensional scheduling
  • Virtual clock counter is a vector (hours,
    minutes,.)

t2
N
t1
N
20
Multi-dimensional scheduling
  • Useful for
  • Fast prototyping of parallelism in complex
    applications
  • SVD (S. Robert, 1997)
  • Kalman filtering (A. Mozipo, 1998)
  • Efficient code generation
  • Quilleré 1999
  • Structured scheduling

21
Extension to structured scheduling
  • Structured systems of recurrence equations
    (Dinechin97)
  • Example
  • matrix product can be expressed as N2
    independent dot products.
  • Question
  • Provided we have a layout for the dot product,
    can we use it for matrix product?

22
Example Matrix-Matrix product
i,j,k1lti,j,kltN Ai,j,k
Ai,j-1,k-1 i,j,k1lti,j,kltN Bi,j,k
Bi-1,j,k-1 i,j,k1lti,j,kltN Ci,j,k
Ci,j,k-1Ai,j,kBi,j,k i,j1lti,jltN
ci,j Ci,j,N
23
Example Matrix-Matrix product
24
Alpha code for dot product
25
Alpha code for dot product
system dotN1ltN (a,bk1ltkltN of integer)
returns (c integer) var Acck0ltkltN of
integer let Acck case k00
kgt0Acck-1akbk esac
cAccN tel
26
Matrix product using dot product
i,j,k1lti,j,kltN Ai,j,k
Ai,j-1,k-1 i,j,k1lti,j,kltN Bi,j,k
Bi-1,j,k-1 use i,j1ltiltN dotN(A,B)
returns (C)
27
Structured dependence graph
28
Structured dependence graph
29
What is a structured scheduling?
  • Schedule each computation such that
  • dependencies are satisfied
  • timing functions are positive
  • All instances of a given subsystem have the same
    schedule
  • Schedule is built from the structured dependence
    graph.

30
Necessary form of a structured scheduling
use i,j1ltiltN dotN(A,B) returns (C)
  • This form can be imposed by means of linear
    constraints

31
Schedule of the dot product
32
Structured 1D schedule
use i,j1ltiltN dotN(A,B) returns (C)
33
2D schedule
use i,j1ltiltN dotN(A,B) returns (C)
34
How to interpret this?
k
j
i
35
j1
k
j
i
36
j1
k
j
i
37
j1
k
j
i
38
j1
k
j
i
39
j2
j
k
i
40
j3
k
j
i
41
Matrix product re-using hardware
Matrix product
C
B,
C3,
C2,
C1,
A1,
A3,
A2,
Acc


B
A
Dot product
42
Advantage of structured scheduling
  • Preserves designers structuring
  • Re-uses hardware
  • Constraints are linear
  • uses a classical schedule tool
  • Reduces the schedule computation complexity
  • Improves readability of the schedule information

43
Outline
  • Cyclic scheduling state of the art
  • Scheduling in MMAlpha
  • Experiments in MMAlpha

44
Experiments
  • Vertex method Simplex of Mathematica
  • Farkas method Pip software
  • Evaluation of structured vs  flat  scheduling

45
Test set (vertex method)
46
Constraints vs Variables
47
Schedule time vs constraints
48
Constraints vs Variables (Farkas method)
49
Schedule time vs constraints
50
Flat vs structured schedule
Write a Comment
User Comments (0)
About PowerShow.com