主動聚合:程序優化的新範式
- 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