English
Related papers

Related papers: Equality Saturation: A New Approach to Optimizatio…

200 papers

An optimizing compiler consists of a front end parsing a textual programming language into an intermediate representation (IR), a middle end performing optimizations on the IR, and a back end lowering the IR to a target representation (TR)…

Programming Languages · Computer Science 2011-11-22 Sebastian Buchwald , Edgar Jakumeit

With recent algorithmic improvements and easy-to-use libraries, equality saturation is being picked up for hardware design, program synthesis, theorem proving, program optimization, and more. Existing work on using equality saturation for…

Programming Languages · Computer Science 2025-05-16 Jules Merckx , Alexandre Lopoukhine , Samuel Coward , Jianyi Cheng , Bjorn De Sutter , Tobias Grosser

Equality saturation is a program optimization technique based on non-destructive rewriting and a form of abstract interpretation called e-class analysis. Existing e-class analyses are pessimistic and therefore typically imprecise when…

Programming Languages · Computer Science 2026-04-17 Russel Arbore , Alvin Cheung , Max Willsey

Recent algorithmic advances have made equality saturation an appealing approach to program optimization because it avoids the phase-ordering problem. Existing work uses external equality saturation libraries, or custom implementations that…

Programming Languages · Computer Science 2026-02-19 Jules Merckx , Alexandre Lopoukhine , Samuel Coward , Jianyi Cheng , Bjorn De Sutter , Tobias Grosser

Machine learning algorithms are commonly specified in linear algebra (LA). LA expressions can be rewritten into more efficient forms, by taking advantage of input properties such as sparsity, as well as program properties such as common…

Databases · Computer Science 2020-12-24 Yisu Remy Wang , Shana Hutchison , Jonathan Leang , Bill Howe , Dan Suciu

Automatic code optimization is a complex process that typically involves the application of multiple discrete algorithms that modify the program structure irreversibly. However, the design of these algorithms is often monolithic, and they…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-18 Kazuaki Matsumura , Simon Garcia De Gonzalo , Antonio J. Peña

Selecting the right compiler optimisations has a severe impact on programs' performance. Still, the available optimisations keep increasing, and their effect depends on the specific program, making the task human intractable. Researchers…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-05-12 Stefano Cereda , Gianluca Palermo , Paolo Cremonesi , Stefano Doni

In this submission, we explore the use of equality saturation to optimize concurrent computations. A concurrent environment gives rise to new optimization opportunities, like extracting a common concurrent subcomputation. To our knowledge,…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-08-15 Henrich Lauko , Lukáš Korenčik , Peter Goodman

Iterative compilation is a widely adopted technique to optimize programs for different constraints such as performance, code size and power consumption in rapidly evolving hardware and software environments. However, in case of statically…

Programming Languages · Computer Science 2014-07-16 Lianjie Luo , Yang Chen , Chengyong Wu , Shun Long , Grigori Fursin

This paper proposes an adaptive neural-compilation framework to address the problem of efficient program learning. Traditional code optimisation strategies used in compilers are based on applying pre-specified set of transformations that…

Artificial Intelligence · Computer Science 2016-05-27 Rudy Bunel , Alban Desmaison , Pushmeet Kohli , Philip H. S. Torr , M. Pawan Kumar

High-performance dynamic language implementations make heavy use of speculative optimizations to achieve speeds close to statically compiled languages. These optimizations are typically performed by a just-in-time compiler that generates…

Programming Languages · Computer Science 2020-05-19 Olivier Flückiger , Gabriel Scherer , Ming-Ho Yee , Aviral Goel , Amal Ahmed , Jan Vitek

Machine learning frameworks adopt iterative optimizers to train neural networks. Conventional eager execution separates the updating of trainable parameters from forward and backward computations. However, this approach introduces…

Machine Learning · Computer Science 2021-04-02 Zixuan Jiang , Jiaqi Gu , Mingjie Liu , Keren Zhu , David Z. Pan

Processing sets or other unordered, potentially variable-sized inputs in neural networks is usually handled by aggregating a number of input tensors into a single representation. While a number of aggregation methods already exist from…

Machine Learning · Computer Science 2022-07-05 Sergey Bartunov , Fabian B. Fuchs , Timothy Lillicrap

One of the major optimizations employed in deep learning frameworks is graph rewriting. Production frameworks rely on heuristics to decide if rewrite rules should be applied and in which order. Prior research has shown that one can discover…

Artificial Intelligence · Computer Science 2021-03-18 Yichen Yang , Phitchaya Mangpo Phothilimtha , Yisu Remy Wang , Max Willsey , Sudip Roy , Jacques Pienaar

As the demand for computational power grows, optimizing code through compilers becomes increasingly crucial. In this context, we focus on fully automatic code optimization techniques that automate the process of selecting and applying code…

Programming Languages · Computer Science 2025-11-11 Yacine Hakimi , Riyadh Baghdadi

Empirical software engineering is concerned with the design and analysis of empirical studies that include software products, processes, and resources. Optimization is a form of data analytics in support of human decision-making.…

Software Engineering · Computer Science 2019-12-05 Guenther Ruhe

Equality saturation is an emerging technique for program and query optimization developed in the programming language community. It performs term rewriting over an E-graph, a data structure that compactly represents a program space. Despite…

Programming Languages · Computer Science 2025-01-07 Dan Suciu , Yisu Remy Wang , Yihong Zhang

Compiler optimizations are designed to improve run-time performance while preserving input-output behavior. Correctness in this sense does not necessarily preserve security: it is known that standard optimizations may break or weaken…

Formal Languages and Automata Theory · Computer Science 2019-11-15 Kedar S. Namjoshi , Lucas M. Tabajara

Given a multithreaded program written assuming a friendly, non-preemptive scheduler, the goal of synchronization synthesis is to automatically insert synchronization primitives to ensure that the modified program behaves correctly, even…

A compiler processes the code written in a high level language and produces machine executable code. The compiler writers often face the challenge of keeping the compilation times reasonable. That is because aggressive optimization passes…

Programming Languages · Computer Science 2019-05-30 Sanket Tavarageri
‹ Prev 1 2 3 10 Next ›