主动聚合:程序优化的新范式

  • 2019 年 12 月 29 日
  • 筆記

原文题目: Aggressive Aggregation: a New Paradigm for Program Optimization

摘要: 本文提出了一种基于主动聚合的程序优化新范式,即:基于部分求值的非循环程序片段分解为一对计算最优结构,用于捕获条件分支的代数决策图(ADD)和用于实现无冗余计算的表达式DAG(ED)的并行赋值。事实上,这种分解为无副作用的组件结构的点允许强大的优化,在语义上包括传统上通过SSA形式转换、代码专门化、公共子表达式消除和(部分)冗余消除来实现的效果。我们用一个著名的迭代Fibonacci程序的优化来说明我们的方法,该程序通常被认为缺乏任何优化潜力。这里的要点是,我们的技术支持循环展开作为一类优化技术,并且是为优化聚合大型程序片段而定制的,特别是那些由多个循环展开产生的片段。对于Fibonacci程序,这将导致性能的提高超过一个数量级。

原文作者:Frederik Gossen, Marc Jasper, Alnis Murtovi, Bernhard Steffen

原文地址:https://arxiv.org/list/cs.PL/recent