Learning to superoptimize programs

Rudy Bunel, Alban Desmaison, Pushmeet Kohli, Philip H.S. Torr, M. Pawan Kumar

Oct 14, 2016 (modified: Oct 14, 2016) NIPS 2016 workshop NAMPI submission readers: everyone
  • Abstract: Superoptimization requires the estimation of the best program for a given computational task. In order to deal with large programs, superoptimization techniques perform a stochastic search. This involves proposing a modification of the current program, which is accepted or rejected based on the improvement achieved. The state of the art method uses uniform proposal distributions, which fails to exploit the problem structure to the fullest. To alleviate this deficiency, we learn a proposal distribution over possible modifications using Reinforcement Learning. To demonstrate the efficacy of our approach, we provide convincing results on the superoptimization of ``Hacker's Delight'' programs.
  • TL;DR: We learn how to perform an efficient stochastic search in the space of assembly programs to find optimised version of given programs.
  • Keywords: Optimization
  • Conflicts: ox.ac.uk, microsoft.com, ecp.fr