Bridging Control-Centric and Data-Centric Optimization
Control flow
Program optimization
DOI:
10.1145/3579990.3580018
Publication Date:
2023-02-22T10:27:10Z
AUTHORS (4)
ABSTRACT
With the rise of specialized hardware and new programming languages, code optimization has shifted its focus towards promoting data locality. Most production-grade compilers adopt a control-centric mindset - instruction-driven augmented with scalar-based dataflow whereas other approaches provide domain-specific general purpose movement minimization, which can miss important control-flow optimizations. As two representations are not commutable, users must choose one over other. In this paper, we explore how both control- data-centric work in tandem via Multi-Level Intermediate Representation (MLIR) framework. Through combination an MLIR dialect passes, recover parametric, symbolic that be optimized within DaCe We combine views into single pipeline, called DCIR, showing it is strictly more powerful than either view. On several benchmarks real-world application C, show our proposed pipeline consistently outperforms automatically uncovers opportunities no additional effort.
SUPPLEMENTAL MATERIAL
Coming soon ....
REFERENCES (38)
CITATIONS (2)
EXTERNAL LINKS
PlumX Metrics
RECOMMENDATIONS
FAIR ASSESSMENT
Coming soon ....
JUPYTER LAB
Coming soon ....