BaCO: A Fast and Portable Bayesian Compiler Optimization Framework
Erik Hellsten, Artur Souza, Johannes Lenfers, Rubens Lacouture, Olivia, Hsu, Adel Ejjeh, Fredrik Kjolstad, Michel Steuwer, Kunle Olukotun, Luigi, Nardi

TL;DR
BaCO is a versatile Bayesian optimization framework that efficiently autotunes compiler parameters across CPUs, GPUs, and FPGAs, significantly improving code performance with minimal search effort.
Contribution
It introduces BaCO, a flexible Bayesian compiler autotuner capable of handling diverse parameter types and constraints, outperforming existing autotuners across multiple hardware domains.
Findings
BaCO achieves 1.36x-1.56x faster code on average.
BaCO reaches expert-level performance 2.9x-3.9x faster.
BaCO outperforms current state-of-the-art autotuners.
Abstract
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 optimiza tion 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 autotuners by delivering on average 1.36x-1.56x faster code with a tiny search budget, and BaCO is able to reach expert-level performance…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMachine Learning and Data Classification · Parallel Computing and Optimization Techniques · Advanced Bandit Algorithms Research
