Automated Code Optimization with E-Graphs

Automated Code Optimization with E-Graphs

[Submitted on 26 Dec 2021 (v1), last revised 30 Dec 2021 (this version, v2)]

Download PDF

Abstract: This thesis proposes an advanced, generic and high-level code rewriting and
analysis system in the Julia programming language, providing applied equality
saturation in the presence of multiple dispatch and metaprogramming. We show
how our system can practically solve some challenging problems: Can programmers
implement their own high-level compiler optimizations for their domain-specific
scientific programs, without the requirement of them being compiler experts at
all? Can these optimizers be implemented by users in the same language and
inside the same programs they want to optimize, solving the two-language
problem? Can these compiler optimizers be written in a high-level fashion, as
equations, without the need to worry about the rewriting ordering? Thus, can
symbolic mathematics do high-level compiler optimizations or vice-versa?

Submission history

From: Alessandro Cheli [view email]

Sun, 26 Dec 2021 12:49:18 UTC (9,138 KB)

Thu, 30 Dec 2021 17:50:02 UTC (9,138 KB)

Join the pack! Join 8000+ others registered users, and get chat, make groups, post updates and make friends around the world!



“Simplicity, patience, compassion.
These three are your greatest treasures.
Simple in actions and thoughts, you return to the source of being.
Patient with both friends and enemies,
you accord with the way things are.
Compassionate toward yourself,
you reconcile all beings in the world.”
― Lao Tzu, Tao Te Ching