返回
Parallel and Customizable Equality Saturation
DOI:10.1145/3771775.3786266.png)
摘要
En 中文
等价饱和使编译器能够探索许多语义等价的程序变体,将优化决策推迟到最后提取阶段。然而,现有框架表现出顺序执行和硬编码的饱和循环。这限制了可扩展性,并且需要大量工程努力来定制饱和行为。本文通过三种新颖技术解决了这些局限性。首先,它展示了如何通过使用线程安全数据结构和延迟 e-图更新的概念来并行化饱和。其次,它提供了一种可扩展的机制来表达自定义和可组合的饱和策略。第三,它将 e-图元数据泛化以支持自定义 e-图注释。该实现用 Scala 编写,并在四个用例上进行了评估:经典程序优化、惯用法识别、可扩展性策略和增量等价饱和。结果表明,它优于多个现有的等价饱和引擎,包括高度优化的 egglog 库。当用于重新实现现有的惯用法识别技术时,新设计以 16 倍的速度找到更高质量的惯用法。此外,该设计能够原生表达最先进的自定义等价饱和行为,如增量等价饱和和多阶段重写策略,而无需对核心库进行任何修改。
Keyword:
Equality Saturation
Program Optimization
EGraphs
Compiler Infrastructure
Rewrite Systems
期刊
机构
引用论文
Reducing Overparameterization of Symbolic Regression Models with Equality Saturation通过等式饱和降低符号回归模型的超参数化

