Stochastic superoptimization

By Eric Schkufza, Rahul Sharma, A. Aiken. 2012

383 citations recorded by the source corpus.

We formulate the loop-free binary superoptimization task as a stochastic search problem. The competing constraints of transformation correctness and performance improvement are encoded as terms in a cost function, and a Markov Chain Monte Carlo sampler is used to rapidly explore the space of all possible programs to find one that is an optimization of a given target program. Although our method sacrifices completeness, the scope of programs we are able to consider, and the resulting quality of the programs that we produce, far exceed those of existing superoptimizers. Beginning from binaries compiled by llvm -O0 for 64-bit x86, our prototype implementation, STOKE, is able to produce programs which either match or outperform the code produced by gcc -O3, icc -O3, and in some cases, expert handwritten assembly.

Subfields: Artificial Intelligence, Hardware and Architecture, Code Generation & Program Synthesis, Program Analysis & Verification

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Percy Liang
  2. Mohit Bansal
  3. Sergey Levine
  4. Quoc V. Le
  5. Jianfeng Gao
  6. Yoshua Bengio
  7. Josh Tenenbaum
  8. Luke S. Zettlemoyer

In Hardware and Architecture

  1. Swarat Chaudhuri
  2. Rishabh Singh
  3. Armando Solar-Lezama
  4. Josh Tenenbaum
  5. Charles Sutton
  6. Kevin Ellis
  7. Oleksandr Polozov
  8. Sumit Gulwani

In Code Generation & Program Synthesis

  1. Rishabh Singh
  2. Charles Sutton
  3. Armando Solar-Lezama
  4. Swarat Chaudhuri
  5. Sumit Gulwani
  6. Oleksandr Polozov
  7. Augustus Odena
  8. Pushmeet Kohli

In Program Analysis & Verification

  1. Charles Sutton
  2. Xinyun Chen
  3. Swarat Chaudhuri
  4. Rishabh Singh
  5. Percy Liang
  6. Zhendong Su
  7. Yuting Chen
  8. Sumit Gulwani

Citations in the corpus