Polyhedral Optimizations for a Data-Flow Graph Language
Polyhedral Optimizations for a Data-Flow Graph Language
复制标题
数据流图语言的多面体优化
DOI:
--
复制
发表时间:
2015
期刊:
影响因子:
--
通讯作者:
Vivek Sarkar
中科院分区:
文献类型:
--
作者:
A. Sbîrlea;J. Shirako;L. Pouchet;Vivek Sarkar
This paper proposes a novel optimization framework for the Data-Flow Graph Language DFGL, a dependence-based notation for macro-dataflow model which can be used as an embedded domain-specific language. Our optimization framework follows a "dependence-first" approach in capturing the semantics of DFGL programs in polyhedral representations, as opposed to the standard polyhedral approach of deriving dependences from access functions and schedules. As a first step, our proposed framework performs two important legality checks on an input DFGL program -- checking for potential violations of the single-assignment rule, and checking for potential deadlocks. After these legality checks are performed, the DFGL dependence information is used in lieu of standard polyhedral dependences to enable polyhedral transformations and code generation, which include automatic loop transformations, tiling, and code generation of parallel loops with coarse-grain fork-join and fine-grain doacross synchronizations. Our performance experiments with nine benchmarks on Intel Xeon and IBM Power7 multicore processors show that the DFGL versions optimized by our proposed framework can deliver upi?źto 6.9$$ imes $$ performance improvement relative to standard OpenMP versions of these benchmarks. To the best of our knowledge, this is the first system to encode explicit macro-dataflow parallelism in polyhedral representations so as to provide programmers with an easy-to-use DSL notation with legality checks, while taking full advantage of the optimization functionality in state-of-the-art polyhedral frameworks.