Bridging Control-Centric and Data-Centric Optimization

06/01/2023
by   Tal Ben-Nun, et al.
0

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.

READ FULL TEXT

page 1

page 5

page 8

page 10

research
10/20/2021

A Data-Centric Optimization Framework for Machine Learning

Rapid progress in deep learning is leading to a diverse set of quickly c...
research
12/10/2019

RVSDG: An Intermediate Representation for Optimizing Compilers

Intermediate Representations (IRs) are central to optimizing compilers a...
research
02/01/2022

Pipeflow: An Efficient Task-Parallel Pipeline Programming Framework using Modern C++

Pipeline is a fundamental parallel programming pattern. Mainstream pipel...
research
10/04/2020

iPregel: Strategies to Deal with an Extreme Form of Irregularity in Vertex-Centric Graph Processing

Over the last decade, the vertex-centric programming model has attracted...
research
05/26/2020

Domain-Specific Multi-Level IR Rewriting for GPU

Traditional compilers operate on a single generic intermediate represent...
research
02/27/2019

Stateful Dataflow Multigraphs: A Data-Centric Model for Performance Portability on Heterogeneous Architectures

The ubiquity of accelerators in high-performance computing has driven pr...
research
05/05/2021

TENET: A Framework for Modeling Tensor Dataflow Based on Relation-centric Notation

Accelerating tensor applications on spatial architectures provides high ...

Please sign up or login with your details

Forgot password? Click here to reset