Monomorphism-based CGRA Mapping via Space and Time Decoupling
Cristian Tirelli, Rodrigo Otoni, Laura Pozzi
TL;DR
The paper tackles the scalability challenge of CGRA mapping by decoupling the time and space dimensions: it first uses an SMT-based time scheduling formulation to obtain a feasible temporal solution, then applies a monomorphism-based search to derive a valid spatial mapping. It proves that a time solution under their constraints guarantees a corresponding space solution, enabling a two-phase approach that dramatically reduces compilation time while preserving mapping quality. Empirical results show substantial speedups, especially for large CGRAs (up to ~10^4× faster on 20×20), with only minor or no loss in solution quality. This decoupled, provably sound methodology offers a scalable path for compiling complex loops onto large CGRAs in practice.
Abstract
Coarse-Grain Reconfigurable Arrays (CGRAs) provide flexibility and energy efficiency in accelerating compute-intensive loops. Existing compilation techniques often struggle with scalability, unable to map code onto large CGRAs. To address this, we propose a novel approach to the mapping problem where the time and space dimensions are decoupled and explored separately. We leverage an SMT formulation to traverse the time dimension first, and then perform a monomorphism-based search to find a valid spatial solution. Experimental results show that our approach achieves the same mapping quality of state-of-the-art techniques while significantly reducing compilation time, with this reduction being particularly tangible when compiling for large CGRAs. We achieve approximately $10^5\times$ average compilation speedup for the benchmarks evaluated on a $20\times 20$ CGRA.
