"STOKE is a stochastic optimizer and program synthesizer for the
x86-64 instruction set. STOKE uses random search to explore the
extremely high-dimensional space of all possible program
transformations. Although any one random transformation is unlikely to
produce a code sequence that is desirable, the repeated application of
millions of transformations is sufficient to produce novel and
non-obvious code sequences. STOKE can be used in many different
scenarios, such as optimizing code for performance or size, synthesizing
an implementation from scratch or to trade accuracy of floating point
computations for performance. As a superoptimizer, STOKE has been shown
to outperform the code produced by general-purpose and domain-specific
compilers, and in some cases expert hand-written code.
In addition to searching over programs, STOKE contains verification
infrastructure to show the equivalence between x86-64 programs. STOKE
can consider test-cases, perform bounded verification all the way to
fully formal verification that shows the equivalence for all possible
inputs."
https://github.com/StanfordPL/stoke
http://stoke.stanford.edu/
https://blog.acolyer.org/2017/03/30/stochastic-program-optimization/
No comments:
Post a Comment