Flexible Hardware Accelerator Design Generation with Spiral
Guanglin Xu, James C. Hoe, Franz Franchetti · 2022
Hardware specialization has become a widely employed technique for approaching higher performance and en-ergy efficiency in computer systems. Yet obtaining efficient cus-tom hardware designs remains a challenging and tedious task, calling for the automated approaches. In the past, Spiral has been used for generating high-throughput streaming hardware designs for linear transform kernels. This paper is motivated by an observation that a memory-based iterative computing model may allow us to trade off throughput for algorithmic flexibility. In this paper, we present a hardware generation approach that generates and optimizes algorithms using Spiral's multi-level domain-specific languages (DSLs), targeting a scalar load-store architecture. We have incorporated this approach as a hardware backend into the Spiral system. Our evaluation of this approach on several fundamental kernels shows flexibility with reasonable performance and resource utilization.