Graph explorer

Stochastic Superoptimization

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 com- pleteness, the scope of programs we are able to reason about, and the quality of the programs we produce, far exceed those of existing superoptimizers. Beginning from binaries com- piled by llvm -O0 for 64-bit X86, our prototype implemen- tation, STOKE, is able to produce programs which either match or outperform the code sequences produced by gcc with full optimizations enabled, and, in some cases, expert handwritten assembly.

6 nodes5 linksoverview previewStochastic Superoptimization
6 nodes5 links
Stochastic Superoptimization6 visible / 6 total nodes / 8 links
Co-authorshipCo-authorshipCo-authorshipAuthorshipAuthorshipAuthorshipTopic signalTopic signalWStochastic Superoptimizationpreprint / 2012AEric SchkufzaResearcherARahul SharmaResearcherAAlex AikenResearcherTProgramming Languages1239 worksTPerformance725 works
PaperSignal 105 links

Stochastic Superoptimization

preprint / 2012

Open