28
Equality Saturation: A New Approach to Optimization Ross Tate, Mike Stepp, Zach Tatlock, Sorin Lerner University of California, San Diego

Equality Saturation: A New Approach to Optimization

  • Upload
    zazu

  • View
    19

  • Download
    5

Embed Size (px)

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 Presentation

Citation preview

Page 1: Equality Saturation: A New Approach to Optimization

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

Traditional OptimizationPhase

OrderingProblem

LocalProfitabilityHeuristics

Original Program

Optimized Program

Optimizations

Page 3: Equality Saturation: A New Approach to Optimization

Traditional Optimization

Page 4: Equality Saturation: A New Approach to Optimization

Exploring Equivalences

Page 5: Equality Saturation: A New Approach to Optimization

Exploring Equivalences

Page 6: Equality Saturation: A New Approach to Optimization

Our Approach

CFG→PEG Conversio

n

Program Expression Graph

Page 7: Equality Saturation: A New Approach to Optimization

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Implementation

CFG→PEG

Conversion

Equality Saturati

on

Global Profitabili

ty Heuristic

PEG→CFG

Conversion

Page 22: Equality Saturation: A New Approach to Optimization

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

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

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

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

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

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

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