Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Lücke, Martin Paul, Zinenko, Oleksandr, Moses, William S., Steuwer, Michel, Cohen, Albert
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:https://arxiv.org/abs/2409.03864
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866909308548022272
author Lücke, Martin Paul
Zinenko, Oleksandr
Moses, William S.
Steuwer, Michel
Cohen, Albert
author_facet Lücke, Martin Paul
Zinenko, Oleksandr
Moses, William S.
Steuwer, Michel
Cohen, Albert
contents To take full advantage of a specific hardware target, performance engineers need to gain control on compilers in order to leverage their domain knowledge about the program and hardware. Yet, modern compilers are poorly controlled, usually by configuring a sequence of coarse-grained monolithic black-box passes, or by means of predefined compiler annotations/pragmas. These can be effective, but often do not let users precisely optimize their varying compute loads. As a consequence, performance engineers have to resort to implementing custom passes for a specific optimization heuristic, requiring compiler engineering expert knowledge. In this paper, we present a technique that provides fine-grained control of general-purpose compilers by introducing the Transform dialect, a controllable IR-based transformation system implemented in MLIR. The Transform dialect empowers performance engineers to optimize their various compute loads by composing and reusing existing - but currently hidden - compiler features without the need to implement new passes or even rebuilding the compiler. We demonstrate in five case studies that the Transform dialect enables precise, safe composition of compiler transformations and allows for straightforward integration with state-of-the-art search methods.
format Preprint
id arxiv_https___arxiv_org_abs_2409_03864
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle The MLIR Transform Dialect. Your compiler is more powerful than you think
Lücke, Martin Paul
Zinenko, Oleksandr
Moses, William S.
Steuwer, Michel
Cohen, Albert
Programming Languages
To take full advantage of a specific hardware target, performance engineers need to gain control on compilers in order to leverage their domain knowledge about the program and hardware. Yet, modern compilers are poorly controlled, usually by configuring a sequence of coarse-grained monolithic black-box passes, or by means of predefined compiler annotations/pragmas. These can be effective, but often do not let users precisely optimize their varying compute loads. As a consequence, performance engineers have to resort to implementing custom passes for a specific optimization heuristic, requiring compiler engineering expert knowledge. In this paper, we present a technique that provides fine-grained control of general-purpose compilers by introducing the Transform dialect, a controllable IR-based transformation system implemented in MLIR. The Transform dialect empowers performance engineers to optimize their various compute loads by composing and reusing existing - but currently hidden - compiler features without the need to implement new passes or even rebuilding the compiler. We demonstrate in five case studies that the Transform dialect enables precise, safe composition of compiler transformations and allows for straightforward integration with state-of-the-art search methods.
title The MLIR Transform Dialect. Your compiler is more powerful than you think
topic Programming Languages
url https://arxiv.org/abs/2409.03864