COBAYN: Compiler Autotuning Framework Using Bayesian Networks

被引:57
|
作者
Ashouri, Amir Hossein [1 ]
Mariani, Giovanni [2 ]
Palermo, Gianluca [1 ]
Park, Eunjung [3 ]
Cavazos, John [4 ]
Silvano, Cristina [1 ]
机构
[1] Politecn Milan, Milan, Italy
[2] IBM Corp, North Castle, NY USA
[3] Los Alamos Natl Lab, Los Alamos, NM USA
[4] Univ Delaware, Dept Comp Sci, Newark, DE 19716 USA
基金
欧盟地平线“2020”;
关键词
Bayesian networks; statistical inference; design space exploration; OPTIMIZATION;
D O I
10.1145/2928270
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The variety of today's architectures forces programmers to spend a great deal of time porting and tuning application codes across different platforms. Compilers themselves need additional tuning, which has considerable complexity as the standard optimization levels, usually designed for the average case and the specific target architecture, often fail to bring the best results. This article proposes COBAYN: Compiler autotuning framework using BAYesian Networks, an approach for a compiler autotuning methodology using machine learning to speed up application performance and to reduce the cost of the compiler optimization phases. The proposed framework is based on the application characterization done dynamically by using independent microarchitecture features and Bayesian networks. The article also presents an evaluation based on using static analysis and hybrid feature collection approaches. In addition, the article compares Bayesian networks with respect to several state-of-the-art machine-learning models. Experiments were carried out on an ARM embedded platform and GCC compiler by considering two benchmark suites with 39 applications. The set of compiler configurations, selected by the model (less than 7% of the search space), demonstrated an application performance speedup of up to 4.6x on Polybench (1.85x on average) and 3.1x on cBench (1.54x on average) with respect to standard optimization levels. Moreover, the comparison of the proposed technique with (i) random iterative compilation, (ii) machine learning-based iterative compilation, and (iii) noniterative predictive modeling techniques shows, on average, 1.2x, 1.37x, and 1.48x speedup, respectively. Finally, the proposed method demonstrates 4x and 3x speedup, respectively, on cBench and Polybench in terms of exploration efficiency given the same quality of the solutions generated by the random iterative compilation model.
引用
收藏
页数:25
相关论文
共 50 条
  • [1] Efficient Compiler Autotuning via Bayesian Optimization
    Chen, Junjie
    Xu, Ningxin
    Chen, Peiqi
    Zhang, Hongyu
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 1198 - 1209
  • [2] Autotuning CUDA compiler parameters for heterogeneous applications using the OpenTuner framework
    Bruel, Pedro
    Amaris, Marcos
    Goldman, Alfredo
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2017, 29 (22):
  • [3] A Survey on Compiler Autotuning using Machine Learning
    Ashouri, Amir H.
    Killian, William
    Cavazos, John
    Palermo, Gianluca
    Silvano, Cristina
    ACM COMPUTING SURVEYS, 2019, 51 (05)
  • [4] SOCRATES - A Seamless Online Compiler and System Runtime AutoTuning Framework for Energy-Aware Applications
    Gadioli, Davide
    Nobre, Ricardo
    Pinto, Pedro
    Vitali, Emanuele
    Ashouri, Amir H.
    Palermo, Gianluca
    Cardoso, Joao
    Silvano, Cristina
    PROCEEDINGS OF THE 2018 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2018, : 1143 - 1146
  • [5] BaCO: A Fast and Portable Bayesian Compiler Optimization Framework
    Hellsten, Erik
    Souza, Artur
    Lenfers, Johannes
    Lacouture, Rubens
    Hsu, Olivia
    Ejjeh, Adel
    Kjolstad, Fredrik
    Steuwer, Michel
    Olukotun, Kunle
    Nardi, Luigi
    PROCEEDINGS OF THE 28TH ACM INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, ASPLOS 2023, VOL 4, 2023, : 19 - 42
  • [6] Piecewise Holistic Autotuning of Compiler and Runtime Parameters
    Popov, Mihail
    Akel, Chadi
    Jalby, William
    Castro, Pablo de Oliveira
    EURO-PAR 2016: PARALLEL PROCESSING, 2016, 9833 : 238 - 250
  • [7] Compiler Autotuning through Multiple-phase Learning
    Zhu, Mingxuan
    Hao, Dan
    Chen, Junjie
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2024, 33 (04)
  • [8] Automating Compiler-Directed Autotuning for Phased Performance Behavior
    Rusira, Tharindu
    Hall, Mary
    Basu, Protonu
    2017 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2017, : 1362 - 1371
  • [9] Fatigue analysis framework for fleet management using Bayesian networks
    Rosqvist, Tony
    Koski, Keijo
    Siljander, Aslak
    2006 PROCEEDINGS - ANNUAL RELIABILITY AND MAINTAINABILITY SYMPOSIUM, VOLS 1 AND 2, 2006, : 133 - +
  • [10] Probabilistic framework to evaluate the resilience of engineering systems using Bayesian and dynamic Bayesian networks
    Kammouh, Omar
    Gardoni, Paolo
    Cimellaro, Gian Paolo
    RELIABILITY ENGINEERING & SYSTEM SAFETY, 2020, 198