paper-with-me

홈 › Papers

Learning to superoptimize programs

2016-11-06 · Rudy Bunel, Alban Desmaison, M. Pawan Kumar, Philip H. S. Torr, Pushmeet Kohli

Code super-optimization is the task of transforming any given program to a more efficient version while preserving its input-output behaviour. In some sense, it is similar to the paraphrase problem from natural language processing where the intention is to change the syntax of an utterance without changing its semantics. Code-optimization has been the subject of years of research that has resulted in the development of rule-based transformation strategies that are used by compilers. More recently, however, a class of stochastic search based methods have been shown to outperform these strategies. This approach involves repeated sampling of modifications to the program from a proposal distribution, which are accepted or rejected based on whether they preserve correctness, and the improvement they achieve. These methods, however, neither learn from past behaviour nor do they try to leverage the semantics of the program under consideration. Motivated by this observation, we present a novel learning based approach for code super-optimization. Intuitively, our method works by learning the proposal distribution using unbiased estimators of the gradient of the expected improvement. Experiments on benchmarks comprising of automatically generated as well as existing ("Hacker's Delight") programs show that the proposed method is able to significantly outperform state of the art approaches for code super-optimization.

📄 PDF Abstract BibTeX arXiv:1611.01787

Code (0)

등록된 구현이 없습니다.

Similar Papers 제목 키워드 기반

Learning to Superoptimize Real-world Programs

2021-09-28 · Alex Shypula, Pengcheng Yin, Jeremy Lacomis, Claire Le Goues 외

Program optimization is the process of modifying software to execute more efficiently. Superoptimizers attempt to find the optimal program by employing significantly more expensive search and constraint solving technique…

Compiler OptimizationImitation Learning

Axon: A Synthesizing Superoptimizer for Tensor Programs

2026-06-24 · Akash Kothari, Shaowei Zhu, Daniel Kroening, Chungha Sung arxiv

Writing high performance kernels for AI accelerators requires deep expertise in tiling, instruction selection, data layout, and operator fusion placing a significant burden on programmers. In this paper, we focus on tile…

Program Synthesis

Mirage: A Multi-Level Superoptimizer for Tensor Programs

2024-05-09 · Mengdi Wu, Xinhao Cheng, Shengyu Liu, Chunan Shi 외

We introduce Mirage, the first multi-level superoptimizer for tensor programs. A key idea in Mirage is $\mu$Graphs, a uniform representation of tensor programs at the kernel, thread block, and thread levels of the GPU co…

GPUNavigate

Prism: Symbolic Superoptimization of Tensor Programs

2026-04-16 · Mengdi Wu, Xiaoyu Jiang, Oded Padon, Zhihao Jia arxiv

This paper presents Prism, the first symbolic superoptimizer for tensor programs. The key idea is sGraph, a symbolic, hierarchical representation that compactly encodes large classes of tensor programs by symbolically re…

Graph Generation

Learning to superoptimize programs - Workshop Version

2016-12-04 · Rudy Bunel, Alban Desmaison, M. Pawan Kumar, Philip H. S. Torr 외

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 modi…

reinforcement-learningReinforcement LearningReinforcement Learning (RL)