PLLGPFDec 1, 2022

BaCO: A Fast and Portable Bayesian Compiler Optimization Framework

Stanford
arXiv:2212.11142v232 citationsh-index: 68
Originality Incremental advance
AI Analysis

This provides a faster and more efficient autotuning solution for compiler developers and users targeting diverse hardware platforms, though it is incremental as it builds on existing Bayesian optimization methods.

The paper tackles the problem of autotuning in modern compilers for CPUs, GPUs, and FPGAs by introducing BaCO, a Bayesian optimization framework that delivers code 1.36x-1.56x faster on average and reaches expert-level performance 2.9x-3.9x faster than current state-of-the-art autotuners.

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 2.9x-3.9x faster.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes