English

Autotuning Search Space for Loop Transformations

Distributed, Parallel, and Cluster Computing 2020-10-14 v1 Computation and Language

Abstract

One of the challenges for optimizing compilers is to predict whether applying an optimization will improve its execution speed. Programmers may override the compiler's profitability heuristic using optimization directives such as pragmas in the source code. Machine learning in the form of autotuning can assist users in finding the best optimizations for each platform. In this paper we propose a loop transformation search space that takes the form of a tree, in contrast to previous approaches that usually use vector spaces to represent loop optimization configurations. We implemented a simple autotuner exploring the search space and applied it to a selected set of PolyBench kernels. While the autotuner is capable of representing every possible sequence of loop transformations and their relations, the results motivate the use of better search strategies such as Monte Carlo tree search to find sophisticated loop transformations such as multilevel tiling.

Keywords

Cite

@article{arxiv.2010.06521,
  title  = {Autotuning Search Space for Loop Transformations},
  author = {Michael Kruse and Hal Finkel and Xingfu Wu},
  journal= {arXiv preprint arXiv:2010.06521},
  year   = {2020}
}

Comments

LLVM-in-HPC 2020 preprint

R2 v1 2026-06-23T19:19:03.361Z