Memory Partitioning Optimization of CGRA Using Access Pattern Morphing
-
Graphical Abstract
-
Abstract
With run-time configurable hardware, coarse-grained reconfigurable array (CGRA) is a potential platform to provide both program flexibility and energy efficiency for data-intensive applications. To exploit the access parallelism of the multi-bank memory, memory partitioning is usually introduced to CGRAs. However, existing works for memory partitioning on CGRAs either achieve the optimal partitioning solution with expensive addressing overheads or achieve area-and-energy efficient hardware at the sacrifice of more bank consumption. To this end, this paper proposes an efficient memory partitioning approach for loop pipelining on CGRA via access pattern morphing. By performing a memory partitioning and scheduling co-optimization on multi-dimensional arrays, a memory partition-friendly access pattern is formed in the data domain such that it can be partitioned with a minimized number of all-one partitioning hyperplanes, resulting in both optimized partition factor and reduced addressing overhead. To solve the partitioning problem, we first propose a backtracking-based scheduling algorithm to find the partition-friendly pattern with minimized initiation interval. Then, based on the partitioning result, we also propose an energy-area-efficient CGRA architecture by simplifying the address generators in load-store units. The experimental results show that our approach can achieve 1.25 × energy efficiency while keeping a moderate compilation time, as compared to the state-of-the-art.
-
-