Polyhedral model based mapping optimization of loop nests for CGRAs

The coarse-grained reconfigurable architecture (CGRA) is a promising platform that provides both high performance and high power-efficiency. The compute-intensive portions of an application (e.g. loops) are often mapped onto CGRA for acceleration. To optimize the mapping of loop nests to CGRA, this paper makes two contributions: i) Establishing a precise CGRA performance model and formulating the loop nests mapping as a nonlinear optimization problem based on polyhedral model, ii) Extracting an efficient heuristic loop transformation and mapping algorithm (PolyMAP) to improve mapping performance. Experiment results on most kernels of the PolyBench and real-life applications show that our proposed approach can improve the performance of the kernels by 21% on average, as compared to one of the best existing mapping algorithm, EPIMap. The runtime complexity of PolyMAP is also acceptable.

[1]  Uday Bondhugula,et al.  A practical automatic polyhedral parallelizer and locality optimizer , 2008, PLDI '08.

[2]  Koen Bertels,et al.  Extending Loop Unrolling and Shifting for Reconfigurable Architectures , 2008 .

[3]  Keshav Pingali,et al.  Synthesizing Transformations for Locality Enhancement of Imperfectly-Nested Loop Nests , 2001, International Journal of Parallel Programming.

[4]  Leibo Liu,et al.  Mapping Optimization of Affine Loop Nests for Reconfigurable Computing Architecture , 2012, IEICE Trans. Inf. Syst..

[5]  Uday Bondhugula,et al.  PLuTo: A Practical and Fully Automatic Polyhedral Program Optimization System , 2015 .

[6]  Koen Bertels,et al.  Loop distribution for K-loops on Reconfigurable Architectures , 2011, 2011 Design, Automation & Test in Europe.

[7]  Leibo Liu,et al.  Configuration Context Reduction for Coarse-Grained Reconfigurable Architecture , 2012, IEICE Trans. Inf. Syst..

[8]  Aviral Shrivastava,et al.  EPIMap: Using Epimorphism to map applications on CGRAs , 2012, DAC Design Automation Conference 2012.

[9]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[10]  Bjorn De Sutter,et al.  Architecture Enhancements for the ADRES Coarse-Grained Reconfigurable Array , 2008, HiPEAC.

[11]  Scott A. Mahlke,et al.  Edge-centric modulo scheduling for coarse-grained reconfigurable architectures , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[12]  Permalink Mapping a Single Assignment Programming Language to Reconfigurable Systems , 2002 .