BaCO: A Fast and Portable Bayesian Compiler Optimization Framework

Hellsten EO; Souza A; Lenfers J; Lacouture R; Hsu O; Ejjeh A; Kjolstad F; Steuwer M; Olukotun K; Nardi L

Forschungsartikel in Sammelband (Konferenz) | Peer reviewed

Zusammenfassung

We introduce the Bayesian Compiler Optimization framework (BaCO), a general purpose autotuner for modern compilers targeting CPUs, GPUs, and FPGAs. BaCO provides the flexibility needed to handle the requirements of modern autotuning tasks. Particularly, it deals with permutation, ordered, and continuous parameter types along with both known and unknown parameter constraints. To reason about these parameter types and efficiently deliver high-quality code, BaCO uses Bayesian optimization algorithms specialized towards the autotuning domain. We demonstrate BaCO's effectiveness on three modern compiler systems: TACO, RISE & ELEVATE, and HPVM2FPGA for CPUs, GPUs, and FPGAs respectively. For these domains, BaCO outperforms current state-of-the-art auto-tuners by delivering on average 1.36X--1.56X faster code with a tiny search budget, and BaCO is able to reach expert-level performance 2.9X--3.9X faster.

Details zur Publikation

Herausgeber*innenAssociation for Computing Machinery
BuchtitelProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 4
Seitenbereich19–42-19–42
VerlagAssociation for Computing Machinery
ErscheinungsortNew York, NY, USA
Titel der ReiheASPLOS '23
Nr. in Reihe4
StatusVeröffentlicht
Veröffentlichungsjahr2024 (07.02.2024)
KonferenzASPLOS 2023, Vancouver, Kanada
ISBN9798400703942
DOI10.1145/3623278.3624770
Stichwörtercompiler optimizations, high-performance computing, bayesian optimization, autotuning, autoscheduling

Autor*innen der Universität Münster

Lenfers, Johannes
Professur für Praktische Informatik (Prof. Gorlatch)