Re:Computer program fixes old code faster than expert engineers
by marktangotango on Friday July 10, 2015 @12:35PM
(#9864997)
Also seems like 'highly optimized' is another way of saying 'obfuscated' in this case.
Here (Link to the paper:[2]) this is different: The authors do NOT have access to the source code, they only have stripped binaries. From these unreadable binary instructions, they are able to identify interesting patterns: they extract the algorithm from the assembly. For this to work, they seem to need run time information. This means, as in conventional PGO, they need to have a wide variety of valuable input. It apparently cannot be done at compile time: "Current state-of-the-art techniques are not capable of extracting the simple algorithms from these highly optimized program."
Once the algorithm is figured out, the Helium framework is generating domain specific code in "Halide". Halide compilers knows how to optimize these stencil computation better than old hand written code, which give them these impressive improvements.
[1]https://msdn.microsoft.com/en-us/library/e7k32f4k.aspx
[2] http://groups.csail.mit.edu/commit/papers/2015/mendis-pldi15...