Mapping code on Coarse Grained Reconfigurable Arrays using a SAT solver
By: Cristian Tirelli, Laura Pozzi
Potential Business Impact:
Finds best way to speed up computer tasks.
Emerging low-powered architectures like Coarse-Grain Reconfigurable Arrays (CGRAs) are becoming more common. Often included as co-processors, they are used to accelerate compute-intensive workloads like loops. The speedup obtained is defined by the hardware design of the accelerator and by the quality of the compilation. State of the art (SoA) compilation techniques leverage modulo scheduling to minimize the Iteration Interval (II), exploit the architecture parallelism and, consequentially, reduce the execution time of the accelerated workload. In our work, we focus on improving the compilation process by finding the lowest II for any given topology, through a satisfiability (SAT) formulation of the mapping problem. We introduce a novel schedule, called Kernel Mobility Schedule, to encode all the possible mappings for a given Data Flow Graph (DFG) and for a given II. The schedule is used together with the CGRA architectural information to generate all the constraints necessary to find a valid mapping. Experimental results demonstrate that our method not only reduces compilation time on average but also achieves higher quality mappings compared to existing SoA techniques.
Similar Papers
SAT-MapIt: A SAT-based Modulo Scheduling Mapper for Coarse Grain Reconfigurable Architectures
Hardware Architecture
Makes computer chips run programs much faster.
Monomorphism-based CGRA Mapping via Space and Time Decoupling
Hardware Architecture
Makes computer chips faster and use less power.
Re-thinking Memory-Bound Limitations in CGRAs
Hardware Architecture
Makes computers run complex tasks much faster.