SRTuner: Effective Compiler Optimization Customization by Exposing Synergistic Relations

Sunghyun Park, Salar Latifi, Yongjun Park, Armand Behroozi, Byungsoo Jeon, Scott Mahlke

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Despite ceaseless efforts, extremely large and complex optimization space makes even the state-of-The-Art compilers fail in delivering the most performant setting that can fully utilize the underlying hardware. Although this inefficiency suggests opportunity for tuning, it has been challenging for prior tuning methods to consider the complex interactions between optimizations and maximize the tuning quality while handling local optima efficiently. To tackle this problem, we suggest an intelligent auto-Tuning strategy, called SRTuner, which searches for the best optimization setting by exposing important optimization interactions and directly using them to focus on promising subspaces. To reveal high-impact inter-optimization relations, SRTuner proposes a multistage structure and a distribution-based estimation method that approximates the impact of an optimization effectively. Besides, to efficiently handle local optima, our technique defines optimization decisions as a series of multi-Armed bandit problems to formulate the exploration-exploitation dilemma. SRTuner is evaluated with three representative compilers from various domains on different target hardware: GCC (traditional C/ C++ compiler) on CPU, TVM (domain-specific machine learning compiler) on GPU, and OpenCL compilers (kernel compiler for heterogeneous computing) on both CPU/GPU. Results show that SRTuner accelerates target executions by 1. 24 \times, 2. 03 \times and 34. 4 \times compared to the highest level of optimization provided by each compiler and outperforms state-of-The-Art works by 1. 04 \times-1. 14 \times. As a byproduct of our unique tuning strategy, SRTuner can offer synergistic optimizations for each workload, which allows it to in part identify why it outperformed current compilers. With this information, we are able to find important optimizations that each compiler misused and demonstrate how this information can benefit future tuning strategies.

Original languageEnglish
Title of host publicationCGO 2022 - Proceedings of the 2022 IEEE/ACM International Symposium on Code Generation and Optimization
EditorsJae W. Lee, Sebastian Hack, Tatiana Shpeisman
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages118-130
Number of pages13
ISBN (Electronic)9781665405843
DOIs
Publication statusPublished - 2022
Event20th IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2022 - Seoul, Korea, Republic of
Duration: 2022 Apr 22022 Apr 6

Publication series

NameCGO 2022 - Proceedings of the 2022 IEEE/ACM International Symposium on Code Generation and Optimization

Conference

Conference20th IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2022
Country/TerritoryKorea, Republic of
CitySeoul
Period22/4/222/4/6

Bibliographical note

Funding Information:
This research was supported by the MOTIE/KEIT (10077609) and by IITP grants (No.2020-0-01373, No.2017-0-00142) funded by the Korean government (MSIT).

Publisher Copyright:
© 2022 IEEE.

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Software
  • Control and Optimization

Fingerprint

Dive into the research topics of 'SRTuner: Effective Compiler Optimization Customization by Exposing Synergistic Relations'. Together they form a unique fingerprint.

Cite this