SAT-MapIt: A SAT-based Modulo Scheduling Mapper for Coarse Grain Reconfigurable Architectures

被引:7
|
作者
Tirelli, Cristian [1 ]
Ferretti, Lorenzo [2 ]
Pozzi, Laura [1 ]
机构
[1] Univ Svizzera Italiana, SYS Inst, Lugano, Switzerland
[2] Univ Calif Los Angeles, Comp Sci, Los Angeles, CA USA
基金
瑞士国家科学基金会; 美国国家科学基金会;
关键词
CGRA; Mapping; SAT;
D O I
10.23919/DATE56975.2023.10137123
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Coarse-Grain Reconfigurable Arrays (CGRAs) are emerging low-power architectures aimed at accelerating compute-intensive application loops. The acceleration that a CGRA can ultimately provide, however, heavily depends on the quality of the mapping, i.e. on how effectively the loop is compiled onto the given platform. State of the Art compilation techniques achieve mapping through modulo scheduling, a strategy which attempts to minimize the II (Iteration Interval) needed to execute a loop, and they do so usually through well known graph algorithms, such as Max-Clique Enumeration. We address the mapping problem through a SAT formulation, instead, and thus explore the solution space more effectively than current SoA tools. To formulate the SAT problem, we introduce an ad-hoc schedule called the kernel mobility schedule (KMS), which we use in conjunction with the data-flow graph and the architectural information of the CGRA in order to create a set of boolean statements that describe all constraints to be obeyed by the mapping for a given II. We then let the SAT solver efficiently navigate this complex space. As in other SoA techniques, the process is iterative: if a valid mapping does not exist for the given II, the II is increased and a new KMS and set of constraints is generated and solved. Our experimental results show that SAT-MapIt obtains better results compared to SoA alternatives in 47.72% of the benchmarks explored: sometimes finding a lower II, and others even finding a valid mapping when none could previously be found.
引用
收藏
页数:6
相关论文
共 21 条