equality saturation: a new approach to optimization
DESCRIPTION
Equality Saturation: A New Approach to Optimization. Ross Tate , Mike Stepp , Zach Tatlock , Sorin Lerner University of California, San Diego. Traditional Optimization. Phase Ordering Problem. Original Program. Optimized Program. Optimizations. Local Profitability Heuristics. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/1.jpg)
Equality Saturation:A New Approach to Optimization
Ross Tate, Mike Stepp, Zach Tatlock, Sorin LernerUniversity of California, San Diego
![Page 2: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/2.jpg)
Traditional OptimizationPhase
OrderingProblem
LocalProfitabilityHeuristics
Original Program
Optimized Program
Optimizations
![Page 3: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/3.jpg)
Traditional Optimization
![Page 4: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/4.jpg)
Exploring Equivalences
![Page 5: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/5.jpg)
Exploring Equivalences
![Page 6: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/6.jpg)
Our Approach
CFG→PEG Conversio
n
Program Expression Graph
![Page 7: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/7.jpg)
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
Our Approach
Equality Saturation
![Page 8: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/8.jpg)
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
Our Approach
Global Profitability Heuristic
![Page 9: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/9.jpg)
Our Approach
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
PEG→CFG Conversio
n
![Page 10: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/10.jpg)
Mitigates Phase Ordering Problem◦ Non-destructive updates allow exponential search
Global Profitability Heuristic◦ Explore first, then decide
Translation Validation◦ Verify translations using equality saturation
Benefits
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 11: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/11.jpg)
sum = 0;for (i = 0; i < 10; i++)sum += 4 * i;
return sum;
Example
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 12: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/12.jpg)
sum = 0;for (i = 0; i < 10; i++)sum += 4 * i;
return sum;
Representing Loops
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
1
θ1
*
4
+0
Complete Representation Referentially Transparent No Intermediate Variables
![Page 13: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/13.jpg)
Identify Equalities PEG Node
Granularity Equality Axioms
◦ ∀X. 4*X = (X 2)≪
Equality Analyses
1
θ1
*
4
+0
2
<<
∀X. 4*X = (X 2)≪
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 14: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/14.jpg)
Equality Inference
1
θ1
*
4
+0
+
*
4 1
*
4
θ1
*
4
*
40
∀ X,Y,Z. X*(Y+Z) = X*Y+ X*Z
∀X. X*0 = 0
2
<<
∀X. 4*X = (X 2)≪
∀X,Y. 4*θ(X, Y) = θ(4*X, 4*Y)
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
∀X. X*1 = X
![Page 15: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/15.jpg)
E-PEG
1
θ1
*
4
+0 *
+
4 1
θ1
*
4
*
40
2
<<
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 16: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/16.jpg)
PEG Selection
+
4
θ1
0
1
θ1
*
4
+0 *
1
*
4
*
4
2
<<
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
Global Profitability Heuristic
![Page 17: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/17.jpg)
Optimized PEG
4
θ1
+0
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 18: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/18.jpg)
sum = 0;for(j = 0; j < 40; j += 4)sum += j;
return sum;
Optimized Program
4
θ1
+0
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 19: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/19.jpg)
sum = 0;for(j = 0; j < 40; j += 4)sum += j;
return sum;
Optimized Programsum = 0;for(i = 0; i < 10; i++)sum += 4 * i;
return sum;
Loop Induction Variable Strength Reduction
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 20: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/20.jpg)
Optimizations composed from simple rules◦ Loop Induction Variable Strength Reduction◦ Loop-Operation Factoring◦ Loop-Operation Distributing◦ Inter-Loop Strength Reduction◦ Temporary Object Removal◦ Partial Inlining
Emergent Optimizations
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 21: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/21.jpg)
Implementation
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 22: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/22.jpg)
Algorithm provided in the Technical Report Model heap with values having linear types
ImplementationCFG→PE
G Convers
ion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 23: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/23.jpg)
Tarjan’s Union-Find Algorithm◦ tracks equivalence classes in the E-PEG
Rete Pattern Matching Algorithm◦ incrementally finds significant nodes in the E-PEG
Equality Analyses:◦ PEG Operator Axioms◦ Language-Specific Axioms◦ Domain-Specific Axioms
ImplementationCFG→PE
G Convers
ion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 24: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/24.jpg)
Pseudo-Boolean Solver◦ Assign a cost to each operation in the E-PEG◦ Impose constraints for a well-formed PEG◦ Minimize the cost of the selected PEG
ImplementationCFG→PE
G Convers
ion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 25: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/25.jpg)
1499 msec14 msec 88 msec 43 msec
Observed Emergent Optimizations◦ Traditionally need to be explicitly implemented
Domain-Specific Analyses:◦ 7% runtime improvement on Java ray tracer
Compilation of SpecJVM (per method):◦ 1030 programs found in less than 200MB memory◦ Average compilation time per stage:
Peggy: Java Bytecode Optimizer
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
1499 msec
CFG→PEG
Conversion
Equality Saturati
on
Global Profitabili
ty Heuristic
PEG→CFG
Conversion
![Page 26: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/26.jpg)
Validation of Soot optimizer on SpecJVM:◦ 98% of optimized methods successfully validated◦ Optimization bug found within remaining 2%
Translation Validator
CFG→PEG Conversio
nCFG→PEG Conversio
n
Equality Saturation ?
![Page 27: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/27.jpg)
Powerful◦ Simultaneous Exponential Search◦ Emergent Optimizations
Extensible◦ Cooperative Equality Analyses◦ Domain-Specific Axioms
General◦ Optimization◦ Translation Validation
Conclusions
![Page 28: Equality Saturation: A New Approach to Optimization](https://reader036.vdocuments.site/reader036/viewer/2022081520/5681679d550346895ddce23d/html5/thumbnails/28.jpg)
E-Graphs◦ Denali: Basic Block Assembly Superoptimizer◦ Simplify: Theorem Prover
Representations◦ Thinned-Gated SSA◦ Lucid programming language◦ Value Dependence Graph◦ Dependence Flow Graph◦ Program Dependence Graph/Web
Rewrite-Based Optimizers◦ TAMPR◦ ASF+SDF◦ Stratego
Related Work