一句话:提出分层数据流编译器 HIDA,自动将算法描述转换为 FPGA 数据流硬件,并通过分层优化显著提升吞吐率。
针对高层次综合(HLS)中数据流设计空间巨大、依赖人工探索且设计规模增大后易致次优设计的问题,本文提出可扩展分层 HLS 框架 HIDA,可将算法描述系统化为硬件数据流实现。方法上,设计高效通用的数据流表示建模分层数据流结构,并据此构建自动优化器,将优化问题按数据流层级分解为多级求解。以 FPGA 评估,在 PyTorch 神经网络上,HIDA 相对 SOTA HLS 优化工具吞吐率最高提升 8.54 倍;全自动处理多类应用时,相对 SOTA RTL 神经网络加速器吞吐率仍高 1.29 倍。
Dataflow architectures are growing in popularity due to their potential to mitigate the challenges posed by the memory wall inherent to the Von Neumann architecture. At the same time, high-level synthesis (HLS) has demonstrated its efficacy as a design methodology for generating efficient dataflow architectures within a short development cycle. However, existing HLS tools rely on developers to explore the vast dataflow design space, ultimately leading to suboptimal designs. This phenomenon is especially concerning as the size of the HLS design grows. To tackle these challenges, we introduce HIDA1, a new scalable and hierarchical HLS framework that can systematically convert an algorithmic description into a dataflow implementation on hardware. We first propose a collection of efficient and versatile dataflow representations for modeling the hierarchical dataflow structure. Capitalizing on these representations, we develop an automated optimizer that decomposes the dataflow optimization problem into multiple levels based on the inherent dataflow hierarchy. Using FPGAs as an evaluation platform, working with a set of neural networks modeled in PyTorch, HIDA achieves up to 8.54× higher throughput compared to the state-of-the-art (SOTA) HLS optimization tool. Furthermore, despite being fully automated and able to handle various applications, HIDA achieves 1.29× higher throughput over the SOTA RTL-based neural network accelerators on an FPGA.