tiling for dynamic scheduling - impact...
TRANSCRIPT
![Page 1: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/1.jpg)
Tiling for Dynamic Scheduling
Ravi Teja MullapudiUday Bondhugula
CSA, Indian Institue of Science
January 20, 2014
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 1 / 25
![Page 2: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/2.jpg)
Table of Contents
1 TilingIntroductionValidity
2 LimitationsWhere do current approaches fail?
3 DirectionsLocalizing DependencesIterative TilingApproximate Cycle Check
4 Applications
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 2 / 25
![Page 3: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/3.jpg)
Table of Contents
1 TilingIntroductionValidity
2 LimitationsWhere do current approaches fail?
3 DirectionsLocalizing DependencesIterative TilingApproximate Cycle Check
4 Applications
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 3 / 25
![Page 4: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/4.jpg)
Tiling
Definition (Computation Graph)
A directed acyclic graph in which the nodes represent operations andedges denote dependences between operations
Definition (Tiling)
Partitioning a computation graph into atomic units of execution
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 4 / 25
![Page 5: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/5.jpg)
Iteration spaces, Dependences and Hyperplanes
i
j
for (i = 0; i < N; i++){
for ( j = 0; j < N; j++) {
A[j] = A[j] + B[i]; s1if (i == j)
B[i+1] = A[j]; s2}
}
Iteration spaces
Ds ={
~is
∣
∣
∣
~is ∈ Zn,A~is + b ≥ 0
}
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 5 / 25
![Page 6: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/6.jpg)
Iteration spaces, Dependences and Hyperplanes
i
j
for (i = 0; i < N; i++){
for ( j = 0; j < N; j++) {
A[j] = A[j] + B[i]; s1if (i == j)
B[i+1] = A[j]; s2}
}
Dependences
Pe ={
〈~is , ~it〉∣
∣
∣
~is ∈ Ds , ~it ∈ Dt , ~is = he(~it), e : s → t}
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 5 / 25
![Page 7: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/7.jpg)
Iteration spaces, Dependences and Hyperplanes
φ1
φ2
i
j
for (i = 0; i < N; i++){
for ( j = 0; j < N; j++) {
A[j] = A[j] + B[i]; s1if (i == j)
B[i+1] = A[j]; s2}
}
Hyperplanes
φs(~is) = ~h· ~is + h0
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 5 / 25
![Page 8: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/8.jpg)
Iteration spaces, Dependences and Hyperplanes
φ1
φ2
i
j
for (i = 0; i < N; i++){
for ( j = 0; j < N; j++) {
A[j] = A[j] + B[i]; s1if (i == j)
B[i+1] = A[j]; s2}
}
Hyperplanes
φs(~is) = ~h· ~is + h0
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 5 / 25
![Page 9: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/9.jpg)
Validity Conditions
φ1
φ2
i
j
φ1
φ2
i
j
Non-Negative Dependence Components
φt(~it)− φs(~is) ≥ 0 , 〈~is , ~it〉 ∈ Pe , e : s → t (HD ≥ 0)
Irigoin and Triolet, Lim and Lam, Griebl, Pluto
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 6 / 25
![Page 10: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/10.jpg)
Validity Conditions
φ1
φ2
i
j
φ1
φ2
i
j
Lexicographically Non-Negative Tile Dependences
⌊HD⌋ < ~0
Xue
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 6 / 25
![Page 11: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/11.jpg)
Table of Contents
1 TilingIntroductionValidity
2 LimitationsWhere do current approaches fail?
3 DirectionsLocalizing DependencesIterative TilingApproximate Cycle Check
4 Applications
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 7 / 25
![Page 12: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/12.jpg)
Conservative Validity Conditions
φ1
φ2
i
j
for (i = 0; i < N; i++){
for ( j = 0; j < N; j++) {
A[j] = A[j] + B[i]; s1if (i == j)
B[i+1] = A[j]; s2}
}
Negative dependence components along φ2 but tiling is valid
Inter-tile dependences lexicographically negative
Tile sizes effect validity
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 8 / 25
![Page 13: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/13.jpg)
Conservative Validity Conditions
φ1
φ2
i
j
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)
Negative dependence components along φ2 but tiling is valid
Inter-tile dependences lexicographically negative
Tile sizes effect validity
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 8 / 25
![Page 14: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/14.jpg)
Conservative Validity Conditions
φ1
φ2
i
j
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)
Negative dependence components along φ2 but tiling is valid
Inter-tile dependences lexicographically negative
Tile sizes effect validity
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 8 / 25
![Page 15: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/15.jpg)
Conservative Validity Conditions
φ1
φ2
i
j
φ1
φ2
i
j
Negative dependence components along φ2 but tiling is valid
Inter-tile dependences lexicographically negative
Tile sizes effect validity
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 8 / 25
![Page 16: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/16.jpg)
Uniformly Tiling Iteration Spaces
φ1
φ2
i
j
for (i = 0; i < N; i++){
for ( j = 0; j < N; j++) {
if (j > i)
A[j] = A[j] + A[i]; s1if (j < i)
A[j] = A[j] + A[i]; s2}
}
Tile dependence graph has cycles
Splitting breaks cycles
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 9 / 25
![Page 17: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/17.jpg)
Uniformly Tiling Iteration Spaces
φ1
φ2
i
j
for (i = 0; i < N; i++){
for ( j = 0; j < N; j++) {
if (j > i)
A[j] = A[j] + A[i]; s1if (j < i)
A[j] = A[j] + A[i]; s2}
}
Tile dependence graph has cycles
Splitting breaks cycles
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 9 / 25
![Page 18: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/18.jpg)
Uniformly Tiling Iteration Spaces
φ1
φ2
i
j
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)
(0, 0)
(1, 1)
(2, 2)
Tile dependence graph has cycles
Splitting breaks cycles
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 9 / 25
![Page 19: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/19.jpg)
Dynamic Scheduling
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
(2, 1)
(2, 2)
(0, 0)
(1, 1)
(2, 2)
Not easy to come up with a static schedule for the tiles
Dynamic task scheduler
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 10 / 25
![Page 20: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/20.jpg)
Table of Contents
1 TilingIntroductionValidity
2 LimitationsWhere do current approaches fail?
3 DirectionsLocalizing DependencesIterative TilingApproximate Cycle Check
4 Applications
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 11 / 25
![Page 21: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/21.jpg)
General Validity Condition
Definition (Valid Tiling)
A set of hyperplanes φ1, φ2, . . . , φk with tile size τi for φi , is a valid tiling
of an iteration space if the dependence graph of k-dimensional tiles formedby the hyperplanes with their respective tile sizes is cycle-free.
Transitive closure of dependence relations
Precise computation might be infeasibleExpensive operation even for an approximation
Conservative cycle detection
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 12 / 25
![Page 22: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/22.jpg)
Localizing Dependences
Theorem
{φ1, . . . , φk} with tile size τi for φi is a valid tiling of an iteration space, if
{φ1, . . . , φk−1} is a valid tiling and φk is a valid one-dimensional tiling of
each k − 1 dimensional tile formed by {φ1, . . . , φk−1}.
φ1
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 13 / 25
![Page 23: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/23.jpg)
Localizing Dependences
Theorem
{φ1, . . . , φk} with tile size τi for φi is a valid tiling of an iteration space, if
{φ1, . . . , φk−1} is a valid tiling and φk is a valid one-dimensional tiling of
each k − 1 dimensional tile formed by {φ1, . . . , φk−1}.
φ1
φ2
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 13 / 25
![Page 24: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/24.jpg)
Localizing Dependences
Theorem
{φ1, . . . , φk} with tile size τi for φi is a valid tiling of an iteration space, if
{φ1, . . . , φk−1} is a valid tiling and φk is a valid one-dimensional tiling of
each k − 1 dimensional tile formed by {φ1, . . . , φk−1}.
φ1
φ2
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 13 / 25
![Page 25: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/25.jpg)
Localizing Dependences
Theorem
{φ1, . . . , φk} with tile size τi for φi is a valid tiling of an iteration space, if
{φ1, . . . , φk−1} is a valid tiling and φk is a valid one-dimensional tiling of
each k − 1 dimensional tile formed by {φ1, . . . , φk−1}.
φ1
φ2
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 13 / 25
![Page 26: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/26.jpg)
Localizing Dependences
Theorem
{φ1, . . . , φk} with tile size τi for φi is a valid tiling of an iteration space, if
{φ1, . . . , φk−1} is a valid tiling and φk is a valid one-dimensional tiling of
each k − 1 dimensional tile formed by {φ1, . . . , φk−1}.
φ1
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 13 / 25
![Page 27: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/27.jpg)
Localizing Dependences
Dependences in the transformed space
{
〈〈T 1s , . . . ,T
ks , ~is〉, 〈T
1t , . . . ,T
kt , ~it〉〉 | 〈~is , ~it〉 ∈ Pe , e : s → t,
1 ≤ l ≤ k , τl ∗ Tls ≤ φl
s(~is) ≤ τl ∗ (Tls + 1)− 1,
τl ∗ Tlt ≤ φl
t(~it) ≤ τi ∗ (Tlt + 1)− 1
}
Inter-Tile Dependences
Pe denotes the inter-tile dependence polyhedron between k-dimensionaltiles formed by 〈φ1, . . . , φk〉 due to the depedence edge e.
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 14 / 25
![Page 28: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/28.jpg)
Localizing Dependences
Dependences in the transformed space
{
〈〈T 1s , . . . ,T
ks , ~is〉, 〈T
1t , . . . ,T
kt , ~it〉〉 | 〈~is , ~it〉 ∈ Pe , e : s → t,
1 ≤ l ≤ k , τl ∗ Tls ≤ φl
s(~is) ≤ τl ∗ (Tls + 1)− 1,
τl ∗ Tlt ≤ φl
t(~it) ≤ τi ∗ (Tlt + 1)− 1
}
Inter-Tile Dependences
Pe denotes the inter-tile dependence polyhedron between k-dimensionaltiles formed by 〈φ1, . . . , φk〉 due to the depedence edge e.
Computed by projecting out dimensions inner to the tiling dimensionφk (for both source and target statements)
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 14 / 25
![Page 29: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/29.jpg)
Localizing Dependences
Restricted Tile Dependence
Qke is a subset of Pk
e restricted to the same k − 1 dimensional tile definedby the k − 1 tiling hyperplanes outer to φk .
φ1
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 15 / 25
![Page 30: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/30.jpg)
Localizing Dependences
Restricted Tile Dependence
Qke is a subset of Pk
e restricted to the same k − 1 dimensional tile definedby the k − 1 tiling hyperplanes outer to φk .
φ1
φ2
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 15 / 25
![Page 31: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/31.jpg)
Localizing Dependences
Restricted Tile Dependence
Qke is a subset of Pk
e restricted to the same k − 1 dimensional tile definedby the k − 1 tiling hyperplanes outer to φk .
Qke thus captures dependences between only those k-dimensional tiles
which are in the same k−1 dimensional tile formed by 〈φ1, . . . , φk−1〉
If e is from statement s to statement t, then:
Qke = Pk
e ∧
∧
1≤l≤k−1
T ls = T l
t
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 15 / 25
![Page 32: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/32.jpg)
Improved Iterative Tiling
φ1
φ2
i
j
1 while τk > 1 do
// 1. Check validity of tiling at level k.
for each e ∈ E do
Compute Qke for dependence e : s → t.
// C is the set of tiles that might be in acycle
C = CycleCheck(Qke for each edge e ∈ E )
if C = ∅ then
// Tiling is valid, move to next levelbreak
// 2. Attempt to correct tiling
τk = ⌊τk/2⌋
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 16 / 25
![Page 33: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/33.jpg)
Improved Iterative Tiling
φ1
i
j
1 while τk > 1 do
// 1. Check validity of tiling at level k.
for each e ∈ E do
Compute Qke for dependence e : s → t.
// C is the set of tiles that might be in acycle
C = CycleCheck(Qke for each edge e ∈ E )
if C = ∅ then
// Tiling is valid, move to next levelbreak
// 2. Attempt to correct tiling
τk = ⌊τk/2⌋
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 16 / 25
![Page 34: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/34.jpg)
Improved Iterative Tiling
φ1
i
j
1 while τk > 1 do
// 1. Check validity of tiling at level k.
for each e ∈ E do
Compute Qke for dependence e : s → t.
// C is the set of tiles that might be in acycle
C = CycleCheck(Qke for each edge e ∈ E )
if C = ∅ then
// Tiling is valid, move to next levelbreak
// 2. Attempt to correct tiling
τk = ⌊τk/2⌋
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 16 / 25
![Page 35: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/35.jpg)
Improved Iterative Tiling
φ1
φ2
i
j
1 while τk > 1 do
// 1. Check validity of tiling at level k.
for each e ∈ E do
Compute Qke for dependence e : s → t.
// C is the set of tiles that might be in acycle
C = CycleCheck(Qke for each edge e ∈ E )
if C = ∅ then
// Tiling is valid, move to next levelbreak
// 2. Attempt to correct tiling
τk = ⌊τk/2⌋
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 16 / 25
![Page 36: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/36.jpg)
Improved Iterative Tiling
φ1
φ2
i
j
1 while τk > 1 do
// 1. Check validity of tiling at level k.
for each e ∈ E do
Compute Qke for dependence e : s → t.
// C is the set of tiles that might be in acycle
C = CycleCheck(Qke for each edge e ∈ E )
if C = ∅ then
// Tiling is valid, move to next levelbreak
// 2. Attempt to correct tiling
τk = ⌊τk/2⌋
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 16 / 25
![Page 37: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/37.jpg)
Approximate Cycle Check
Dependences On a Line
Each hyperplane φk gives a one-dimensional coordinate for a tile whichcan be used to map a tile to a point on a line.
φk
pForward face
Backward face
Forward Dependences
Backward Dependences
When are there no cycles?
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 17 / 25
![Page 38: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/38.jpg)
Approximate Cycle Check
Dependences On a Line
Each hyperplane φk gives a one-dimensional coordinate for a tile whichcan be used to map a tile to a point on a line.
φk
pForward face
Backward face
Forward Dependences
Backward Dependences
When are there no cycles?
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 17 / 25
![Page 39: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/39.jpg)
Approximate Cycle Check
Dependences On a Line
Each hyperplane φk gives a one-dimensional coordinate for a tile whichcan be used to map a tile to a point on a line.
φk
pForward face
Backward face
Forward Dependences
Backward Dependences
When are there no cycles?
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 17 / 25
![Page 40: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/40.jpg)
Approximate Cycle Check
pForward face
Backward face
Backward Violation
Bke,e′ =
{
〈T 1s , . . . ,T
ks 〉 | ∃T
lt , ∃T
ls′ , ∃T
lt′ , (T
ks ≥ T k
t + 1) ∧
(T ks′ ≤ T k
t′ − 1) ∧1≤l≤k (Tlt′ = T l
s ) ∧
〈〈T 1s , . . . ,T
ks 〉, 〈T
1t , . . . ,T
kt 〉〉 ∈ Qk
e , e : s → t
〈〈T 1s′ , . . . ,T
ks′〉, 〈T
1t′ , . . . ,T
kt′〉〉 ∈ Qk
e′ , e′ : s ′ → t ′
}
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 18 / 25
![Page 41: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/41.jpg)
Approximate Cycle Check
pForward face
Backward face
Forward Violation
F ke,e′ =
{
〈T 1s , . . . ,T
ks 〉 | ∃T
lt , ∃T
ls′ , ∃T
lt′ , (T
ks ≤ T k
t − 1) ∧
(T ks′ ≥ T k
t′ + 1) ∧1≤l≤k (Tlt′ = T l
s ) ∧
〈〈T 1s , . . . ,T
ks 〉, 〈T
1t , . . . ,T
kt 〉〉 ∈ Qk
e , e : s → t
〈〈T 1s′ , . . . ,T
ks′〉, 〈T
1t′ , . . . ,T
kt′〉〉 ∈ Qk
e′ , e′ : s ′ → t ′
}
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 18 / 25
![Page 42: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/42.jpg)
Approximate Cycle Check
Input : Tile dependence polyhedra at level k Qke for all e ∈ E the set of edges in
the GDG.Output: Set of tiles that might be part of a cycle// Bk set of tiles that satisfy B at level k .
// F k set of tiles that satisfy F at level k .
Bk = ∅,F k = ∅
for each pair 〈Qke ,Q
ke′〉 e, e
′ ∈ E // e can be equal to e′
do
Compute Bke,e′ , F
ke,e′ using Qk
e and Qke′
Bk = Bke,e′ ∪ Bk
F k = F ke,e′ ∪ F k
return Bk ∪ F k
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 19 / 25
![Page 43: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/43.jpg)
Table of Contents
1 TilingIntroductionValidity
2 LimitationsWhere do current approaches fail?
3 DirectionsLocalizing DependencesIterative TilingApproximate Cycle Check
4 Applications
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 20 / 25
![Page 44: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/44.jpg)
Floyd-Warshall All Pairs Shortest Paths
φ1
φ2
k
i
Using additional arrays R and C to remove false dependences in theAll-Pairs Shortest-Paths kernel
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 21 / 25
![Page 45: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/45.jpg)
Floyd-Warshall All Pairs Shortest Paths
φ1
φ2
k
i
All-Pairs Shortest-Paths kernel after removing spurious writes
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 21 / 25
![Page 46: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/46.jpg)
Zuker’s RNA Secondary Structure Prediction
for (i = N-1; i >= 0; i--) {
for (j = i+1; j < N; j++) {
for (k = 0; k < j-i; k++) {
S[i][j] = MAX(S[i][k+i] + S[k+i+1][j], S[i][j]);
}
S[i][j] = MAX(S[i][j], S[i+1][j-1] +
can_pair(RNA[i],RNA[j]));
}
}
Complex dynamic programming recurrence
3-d tiling the O(n3) loop nest
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 22 / 25
![Page 47: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/47.jpg)
Zuker’s RNA Secondary Structure Prediction
for (i = 0; i < N; i++){
for ( j = 0; j < i+1; j++) {
A[i] = A[i] + A[i-j]; s1}
}
φ1
φ2
i
j
Merging tiles
Use commutative properties
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 22 / 25
![Page 48: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/48.jpg)
Experimental Evalutation
0
10
20
30
40
50
60
70
1 2 4 8 16 32
Spe
edup
ove
r se
q
Number of threads
CnC 2d tiledCnC 3d tiled
(a) floyd – seq time is 231s
0
2
4
6
8
10
12
14
16
18
1 2 4 8 16 32
Spe
edup
ove
r si
ngle
thre
ad
Number of threads
GTfoldCnC 3d tiled
(b) zuker – single thread time is 253s
Experimental setup is a four socket machine with an AMD Opteron6136 (2.4 GHz, 128 KB L1, 512 KB L2, 6 MB L3 cache) in eachsocket.
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 23 / 25
![Page 49: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/49.jpg)
Conclusions and Future Work
Using improved validity constraints for hyperplane search
Integrating splitting techniques
More accurate cycle detection
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 24 / 25
![Page 50: Tiling for Dynamic Scheduling - IMPACT Workshopimpact.gforge.inria.fr/.../impact2014-mullapudi-slides.pdfTiling for Dynamic Scheduling Ravi Teja Mullapudi Uday Bondhugula CSA,IndianInstitueofScience](https://reader036.vdocuments.us/reader036/viewer/2022071420/6119139f87ad8b6a3d37279b/html5/thumbnails/50.jpg)
Questions?
Thank You!
Ravi Teja M (IISc) Tiling for Dynamic Scheduling January 20, 2014 25 / 25