Optimization Through Recomputation in the Polyhedral Model
By Mike Jongen, Luc Waeijen, Roel Jordans, Lech Jóźwiak, Henk Corporaal.
1
Optimization Through Recomputation in the Polyhedral Model By Mike - - PowerPoint PPT Presentation
Optimization Through Recomputation in the Polyhedral Model By Mike Jongen, Luc Waeijen, Roel Jordans, Lech Jwiak , Henk Corporaal. 1 Contents Introduction Related work Optimizing Through Recompute Polyhedral
1
2
4
5
6
8
9
11
12
13
Stored Part of the intermediate image
14
Stored Part of the intermediate image
15
16
17
18
19
20
21
22
23
Storing the overlap
24
Storing the overlap
25
Storing the overlap
26
Storing the overlap
27
Storing the overlap
28
Recomputing the overlap
29
Recomputing the overlap
30
Recomputing the overlap
31
Recomputing the overlap
32
Recomputing the overlap
33
Recomputing the overlap Storing the overlap
35
36
37
38
Stmt[0] Stmt[1] Stmt[2] [0, 0] [0, 1] [1, 0] [1, 1]
Old Schedule
39
Stmt[0] Stmt[1] Stmt[2] [0, 0] [0, 1] [1, 0] [1, 1]
Old Schedule
Stmt[0] Stmt[1] Stmt[2] [0, 0] [0, 1] [1, 1]
Lexicographical Minimum
40
Stmt[0] Stmt[1] Stmt[2] [0, 0] [0, 1] [1, 0] [1, 1]
Old Schedule
Stmt[0] Stmt[1] Stmt[2] [0, 0] [0, 1] [1, 1]
Lexicographical Minimum
41
Stmt[0] Stmt[1] Stmt[2] [0, 0] [0, 1] [1, 0] [1, 1]
Old Schedule
Stmt[0] Stmt[1] Stmt[2] [0, 0] [0, 1] [1, 1]
Lexicographical Minimum
42
Rest of Schedule
[1, 0] Stmt[1] Stmt[0] Stmt[1] Stmt[2] [0, 0] [0, 1] [1, 1]
Lexicographical Minimum
Stmt[0, 0] Stmt[1, 0] Stmt[2, 0] [0, 0] [0, 1] [1, 1]
43
New Schedule Rest of Schedule
[1, 0] Stmt[1]
Stmt[0, 0] Stmt[1, 0] Stmt[2, 0] [0, 0] [0, 1] [1, 1]
44
New Schedule Lexicographical Minimum
[1, 0] Stmt[1]
Stmt[0, 0] Stmt[1, 0] Stmt[2, 0] [0, 0] [0, 1] [1, 1]
45
New Schedule Lexicographical Minimum
[1, 0] Stmt[1]
Stmt[0, 0] Stmt[1, 0] Stmt[2, 0] [0, 0] [0, 1] [1, 1]
46
New Schedule Lexicographical Minimum
[1, 0] Stmt[1]
47
Lexicographical Minimum
[1, 0] Stmt[1] Stmt[0, 0] Stmt[1, 0] Stmt[2, 0] [0, 0] [0, 1] [1, 1] [1, 0] Stmt[1, 1]
New Schedule
48
49
Conv[i0,i1,i2,i3] → [i0,i1,i2,i3]
50
Conv[i0,i1,i2,i3] →[t0,i1,t1,i2,i3] : 0 <= t0 < no_tiles and 0 <= t1 < tilesize and i0 = tilesize ∗ t0 + t1
51
Conv[i0,i1,i2,i3] →[t0,i1,t1,i2,i3] : 0 <= t0 < no_tiles and 0 <= t1 < tilesize + overlap and i0 = tilesize ∗ t0 + t1
52
Before After OR
54
55
56
58
59
60