Authors
Eric Schkufza, Rahul Sharma, Alex Aiken
Publication date
2013/3/16
Journal
ACM SIGARCH Computer Architecture News
Volume
41
Issue
1
Pages
305-316
Publisher
ACM
Description
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.
Total citations
2012201320142015201620172018201920202021202220232024151228353830504247524316
Scholar articles
E Schkufza, R Sharma, A Aiken - ACM SIGARCH Computer Architecture News, 2013