English

BenchPress: A Deep Active Benchmark Generator

Artificial Intelligence 2022-08-17 v2

Abstract

We develop BenchPress, the first ML benchmark generator for compilers that is steerable within feature space representations of source code. BenchPress synthesizes compiling functions by adding new code in any part of an empty or existing sequence by jointly observing its left and right context, achieving excellent compilation rate. BenchPress steers benchmark generation towards desired target features that has been impossible for state of the art synthesizers (or indeed humans) to reach. It performs better in targeting the features of Rodinia benchmarks in 3 different feature spaces compared with (a) CLgen - a state of the art ML synthesizer, (b) CLSmith fuzzer, (c) SRCIROR mutator or even (d) human-written code from GitHub. BenchPress is the first generator to search the feature space with active learning in order to generate benchmarks that will improve a downstream task. We show how using BenchPress, Grewe's et al. CPU vs GPU heuristic model can obtain a higher speedup when trained on BenchPress's benchmarks compared to other techniques. BenchPress is a powerful code generator: Its generated samples compile at a rate of 86%, compared to CLgen's 2.33%. Starting from an empty fixed input, BenchPress produces 10x more unique, compiling OpenCL benchmarks than CLgen, which are significantly larger and more feature diverse.

Keywords

Cite

@article{arxiv.2208.06555,
  title  = {BenchPress: A Deep Active Benchmark Generator},
  author = {Foivos Tsimpourlas and Pavlos Petoumenos and Min Xu and Chris Cummins and Kim Hazelwood and Ajitha Rajan and Hugh Leather},
  journal= {arXiv preprint arXiv:2208.06555},
  year   = {2022}
}

Comments

To appear in PACT 2022

R2 v1 2026-06-25T01:40:49.837Z