Autotuning PolyBench Benchmarks with LLVM Clang/Polly Loop Optimization Pragmas Using Bayesian Optimization
Xingfu Wu, Michael Kruse, Prasanna Balaprakash, Hal Finkel, Paul, Hovland, Valerie Taylor, Mary Hall

TL;DR
This paper presents an autotuning framework using Bayesian optimization to enhance LLVM Clang/Polly loop optimizations on PolyBench benchmarks, significantly reducing execution times by effectively exploring large parameter spaces.
Contribution
Developed a Bayesian optimization-based autotuning framework for LLVM Clang/Polly pragmas, optimizing loop parameters on complex benchmarks to improve performance.
Findings
Autotuning outperforms other methods in reducing execution time for most benchmarks.
Effective search over up to 170,368 configurations with 200 evaluations.
Polly heuristics can sometimes hinder performance, requiring additional compiler options.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Software Engineering Research · Software Testing and Debugging Techniques
