Bridging Control-Centric and Data-Centric Optimization

3Citations
Citations of this article
14Readers
Mendeley users who have this article in their library.
Get full text

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 optimization augmented with scalar-based dataflow - - whereas other approaches provide domain-specific and general purpose data movement minimization, which can miss important control-flow optimizations. As the two representations are not commutable, users must choose one over the other. In this paper, we explore how both control- and data-centric approaches can work in tandem via the Multi-Level Intermediate Representation (MLIR) framework. Through a combination of an MLIR dialect and specialized passes, we recover parametric, symbolic dataflow that can be optimized within the DaCe framework. We combine the two views into a single pipeline, called DCIR, showing that it is strictly more powerful than either view. On several benchmarks and a real-world application in C, we show that our proposed pipeline consistently outperforms MLIR and automatically uncovers new optimization opportunities with no additional effort.

Author supplied keywords

Cite

CITATION STYLE

APA

Ben-Nun, T., Ates, B., Calotoiu, A., & Hoefler, T. (2023). Bridging Control-Centric and Data-Centric Optimization. In CGO 2023 - Proceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization (pp. 173–185). Association for Computing Machinery, Inc. https://doi.org/10.1145/3579990.3580018

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free