Litcius/Paper detail

AutoSA

Jie Wang, Licheng Guo, Jason Cong

2021126 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Computer scienceSystolic arrayFLOPSField-programmable gate arrayParallel computingMatrix multiplicationProcess (computing)Multiplication (music)Set (abstract data type)Integer (computer science)Floating pointComputer architectureComputer hardwareComputer engineeringEmbedded systemAlgorithmVery-large-scale integrationProgramming languageOperating systemQuantumQuantum mechanicsAcousticsPhysicsInterconnection Networks and SystemsParallel Computing and Optimization TechniquesLow-power high-performance VLSI design