While systolic array architectures have the potential to deliver tremendous performance, it is notoriously challenging to customize an efficient systolic array processor for a target application. Designing systolic arrays requires knowledge for both high-level characteristics of the application and low-level hardware details, thus making it a demanding and inefficient process. To relieve users from the manual iterative trial-and-error process, we present AutoSA, an end-to-end compilation framework for generating systolic arrays on FPGA. AutoSA is based on the polyhedral framework, and further incorporates a set of optimizations on different dimensions to boost performance. An efficient and comprehensive design space exploration is performed to search for high-performance designs. We have demonstrated AutoSA on a wide range of applications, on which AutoSA achieves high performance within a short amount of time. As an example, for matrix multiplication, AutoSA achieves 934 GFLOPs, 3.41 TOPs, and 6.95 TOPs in floating point, 16-bit and 8-bit integer data types on Xilinx Alveo U250.
CITATION STYLE
Wang, J., Guo, L., & Cong, J. (2021). AutoSA: A polyhedral compiler for high-performance systolic arrays on fpga. In FPGA 2021 - 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (pp. 93–104). Association for Computing Machinery, Inc. https://doi.org/10.1145/3431920.3439292
Mendeley helps you to discover research relevant for your work.