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

Research output: Contribution to journalArticlepeer-review

13 Scopus citations

Abstract

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 evaluate their effectiveness. We select six of the most complex PolyBench benchmarks 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 find that the Floyd–Warshall benchmark did not benefit from autotuning. To cope with this issue, we provide some compiler option solutions to improve the performance. Then we present loop autotuning without a user's knowledge using a simple mctree autotuning framework to further improve the performance of the Floyd–Warshall benchmark. We also extend the ytopt autotuning framework to tune a deep learning application.

Original languageEnglish
Article numbere6683
JournalConcurrency and Computation: Practice and Experience
Volume34
Issue number20
DOIs
StatePublished - Sep 10 2022
Externally publishedYes

Funding

This work was supported in part by LDRD funding from Argonne National Laboratory, provided by the Director, Office of Science, of the U.S. Department of Energy (DoE) under contract DE‐AC02‐06CH11357, in part by DoE ECP PROTEAS‐TUNE, and in part by NSF grant CCF‐1801856 and CCF‐2119203. U.S. Department of Energy, DE‐AC02‐06CH11357; ECP PROTEAS‐TUNE; U.S. National Science Foundation, CCF‐1801856, CCF‐2119203 Funding information

FundersFunder number
National Science FoundationCCF‐1801856, CCF‐2119203
U.S. Department of EnergyECP PROTEAS‐TUNE, DE‐AC02‐06CH11357
Directorate for Computer and Information Science and Engineering1801856
Office of Science
Argonne National Laboratory
Laboratory Directed Research and Development

    Keywords

    • Clang
    • Polly
    • PolyBench benchmarks
    • autotuning
    • loop transformation
    • machine learning
    • optimization

    Fingerprint

    Dive into the research topics of 'Autotuning PolyBench benchmarks with LLVM Clang/Polly loop optimization pragmas using Bayesian optimization'. Together they form a unique fingerprint.

    Cite this