paper-with-me

Papers

Autotuning PolyBench Benchmarks with LLVM Clang/Polly Loop Optimization Pragmas Using Bayesian Optimization

2020-10-15 · Xingfu Wu, Michael Kruse, Prasanna Balaprakash, Hal Finkel, Paul Hovland, Valerie Taylor, Mary Hall

An autotuning is an approach that explores a search space of possible implementations/configurations of a kernel or an application by selecting and evaluating a subset of implementations/configurations on a target platform and/or use models to identify a high performance implementation/configuration. In this paper, we develop an autotuning framework that leverages Bayesian optimization to explore the parameter space search. We select six of the most complex benchmarks from the application domains of the PolyBench benchmarks (syr2k, 3mm, heat-3d, lu, covariance, and Floyd-Warshall) and apply the newly developed LLVM Clang/Polly loop optimization pragmas to the benchmarks to optimize them. We then use the autotuning framework to optimize the pragma parameters to improve their performance. The experimental results show that our autotuning approach outperforms the other compiling methods to provide the smallest execution time for the benchmarks syr2k, 3mm, heat-3d, lu, and covariance with two large datasets in 200 code evaluations for effectively searching the parameter spaces with up to 170,368 different configurations. We compare four different supervised learning methods within Bayesian optimization and evaluate their effectiveness. We find that the Floyd-Warshall benchmark did not benefit from autotuning because Polly uses heuristics to optimize the benchmark to make it run much slower. To cope with this issue, we provide some compiler option solutions to improve the performance.

📄 PDF Abstract BibTeX arXiv:2010.08040

Code (0)

등록된 구현이 없습니다.

Tasks

Bayesian Optimization

Similar Papers 제목 키워드 기반

Autotuning PolyBench Benchmarks with LLVM Clang/Polly Loop Optimization Pragmas Using Bayesian Optimization (extended version)

2021-04-27 · Xingfu Wu, Michael Kruse, Prasanna Balaprakash, Hal Finkel 외

In this paper, we develop a ytopt autotuning framework that leverages Bayesian optimization to explore the parameter space search and compare four different supervised learning methods within Bayesian optimization and ev…

Bayesian Optimization

Customized Monte Carlo Tree Search for LLVM/Polly's Composable Loop Optimization Transformations

2021-05-10 · Jaehoon Koo, Prasanna Balaprakash, Michael Kruse, Xingfu Wu 외

Polly is the LLVM project's polyhedral loop nest optimizer. Recently, user-directed loop transformation pragmas were proposed based on LLVM/Clang and Polly. The search space exposed by the transformation pragmas is a tre…

LOOPRAG: Enhancing Loop Transformation Optimization with Retrieval-Augmented Large Language Models

2025-12-12 · Yijie Zhi, Yayu Cao, Jianhua Dai, Xiaoyang Han 외 arxiv

Loop transformations are semantics-preserving optimization techniques, widely used to maximize objectives such as parallelism. Despite decades of research, applying the optimal composition of loop transformations remains…

Code Generation

ACPO: AI-Enabled Compiler Framework

2023-12-15 · Amir H. Ashouri, Muhammad Asif Manzoor, Duc Minh Vu, Raymond Zhang 외

The key to performance optimization of a program is to decide correctly when a certain transformation should be applied by a compiler. This is an ideal opportunity to apply machine-learning models to speed up the tuning …

Autotuning Search Space for Loop Transformations

2020-10-13 · Michael Kruse, Hal Finkel, Xingfu Wu

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 directive…