APEX: A Framework for Automated Processing Element Design Space Exploration using Frequent Subgraph Analysis
APEX: A Framework for Automated Processing Element Design Space Exploration using Frequent Subgraph Analysis
复制标题
DOI:
10.1145/3582016.3582070
复制
发表时间:
2023-03
期刊:
影响因子:
--
通讯作者:
J. Melchert;Kathleen Feng;Caleb Donovick;Ross G. Daly;Ritvik Sharma;Clark W. Barrett;M. Horowitz;P. Hanrahan;Priyanka Raina
中科院分区:
文献类型:
--
作者:
J. Melchert;Kathleen Feng;Caleb Donovick;Ross G. Daly;Ritvik Sharma;Clark W. Barrett;M. Horowitz;P. Hanrahan;Priyanka Raina
The architecture of a coarse-grained reconfigurable array (CGRA) processing element (PE) has a significant effect on the performance and energy-efficiency of an application running on the CGRA. This paper presents APEX, an automated approach for generating specialized PE architectures for an application or an application domain. APEX first analyzes application domain benchmarks using frequent subgraph mining to extract commonly occurring computational subgraphs. APEX then generates specialized PEs by merging subgraphs using a datapath graph merging algorithm. The merged datapath graphs are translated into a PE specification from which we automatically generate the PE hardware description in Verilog along with a compiler that maps applications to the PE. The PE hardware and compiler are inserted into a flexible CGRA generation and compilation toolchain that allows for agile evaluation of CGRAs. We evaluate APEX for two domains, machine learning and image processing. For image processing applications, our automatically generated CGRAs with specialized PEs achieve from 5% to 30% less area and from 22% to 46% less energy compared to a general-purpose CGRA. For machine learning applications, our automatically generated CGRAs consume 16% to 59% less energy and 22% to 39% less area than a general-purpose CGRA. This work paves the way for creation of application domain-driven design-space exploration frameworks that automatically generate efficient programmable accelerators, with a much lower design effort for both hardware and compiler generation.