3 ms·
Abstract: We formulate the loop-free binary superoptimization task as a stochastic search problem. The competing constraints of transformation correctness and
by cschmidt 12y ago
Abstract:
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.
- michaelochurch 12y agoWhat's "the loop-free binary superoptimization task"?
- signa11 12y ago>What's "the loop-free binary superoptimization task"? http://blog.regehr.org/archives/923 http://blog.regehr.org/archives/923 edit: oops, the above link describes what a stochastic-superoptimizer is. however, if you read through the whole thing, it may give an inkling what the authors have done...
- icegreentea 12y agoSuperoptimization is finding -the- optimal program to perform a task, as opposed to optimization which only looks for better programs. Loop-free means... no loops. That said, their approach does not actually give you the superoptimal solution, since it is a stochastic search.