Generic Connectivity-Based CGRA Mapping via Integer Linear Programming
Coarse-grained reconfigurable architectures (CGRAs) are programmable logic devices with large coarse-grained ALU-like logic blocks, and multi-bit datapath-style routing. CGRAs often have relatively restricted data routing networks, so they attract CAD mapping tools that use exact methods, such as Integer Linear Programming (ILP). However, CAD tools that target general architectures must use large constraint systems to fully describe an architecture's flexibility, resulting in lengthy run-times. In this paper, we propose deriving certain properties from an otherwise generic device model, and using these properties to create a simpler ILP that retains most of the exactness of a fully-generic ILP. This approach has a speed-up geometric mean of 85x when considering benchmarks that do not hit a time-limit of 7.5 hours on the fully-generic ILP, and 494x otherwise. This was measured using the set of benchmarks used to originally evaluate the fully-generic approach, and several more benchmarks representing computation tasks, over three different CGRA architectures. All run-times of the new approach are less than 10 minutes, with 90th percentile time of 7.9 seconds, while being more robust to seed effects in an ILP solver, due to the smaller model size. The proposed mapping techniques are integrated into, and evaluated using the open-source CGRA-ME architecture modelling and exploration framework.
READ FULL TEXT