CATBench: A Compiler Autotuning Benchmarking Suite for Black-box Optimization
Jacob O. T{\o}rring, Carl Hvarfner, Luigi Nardi, Magnus Sj\"alander

TL;DR
CATBench is a comprehensive benchmarking suite designed to evaluate Bayesian optimization methods on complex compiler autotuning tasks, addressing structural challenges and promoting reproducibility in the domain.
Contribution
It introduces a standardized, versatile benchmarking suite capturing real-world autotuning complexities, facilitating fair comparison and advancement of Bayesian optimization algorithms.
Findings
Validated on state-of-the-art algorithms, revealing their strengths and weaknesses.
Demonstrated the suite's potential to advance research in Bayesian optimization and compiler autotuning.
Promoted reproducibility through an easy-to-use, containerized setup.
Abstract
Bayesian optimization is a powerful method for automating tuning of compilers. The complex landscape of autotuning provides a myriad of rarely considered structural challenges for black-box optimizers, and the lack of standardized benchmarks has limited the study of Bayesian optimization within the domain. To address this, we present CATBench, a comprehensive benchmarking suite that captures the complexities of compiler autotuning, ranging from discrete, conditional, and permutation parameter types to known and unknown binary constraints, as well as both multi-fidelity and multi-objective evaluations. The benchmarks in CATBench span a range of machine learning-oriented computations, from tensor algebra to image processing and clustering, and uses state-of-the-art compilers, such as TACO and RISE/ELEVATE. CATBench offers a unified interface for evaluating Bayesian optimization…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Numerical Methods and Algorithms
