Related articles |
---|
From: | John R Levine <johnl@taugh.com> |
Newsgroups: | comp.compilers |
Date: | Mon, 09 Sep 2024 20:43:07 -0400 |
Organization: | Compilers Central |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="42465"; mail-complaints-to="abuse@iecc.com" |
Keywords: | optimize |
Posted-Date: | 09 Sep 2024 20:43:38 EDT |
The authors adapt the MLIR framework to provide finer grained
control over the sequence of optimization steps a compiler uses.
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.
https://arxiv.org/abs/2409.03864
Regards,
John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail. https://jl.ly
Return to the
comp.compilers page.
Search the
comp.compilers archives again.