从领域特定语言自动创建高带宽存储器架构:以计算流体动力学为例
硬件体系结构
2022-11-09 v5
摘要
数值模拟有助于解决复杂问题。这类算法大多高度并行,因此得益于空间并行性而成为 FPGA 加速的良好候选。现代 FPGA 器件可利用高带宽存储器(HBM)技术,但当应用受内存限制时,设计人员必须精心设计先进的通信与存储器架构以实现高效的数据搬移与片上存储。这一开发过程需要硬件设计技能,而领域专家通常不具备。本文中,我们提出一种从用于张量表达式的领域特定语言(DSL)到在配备 HBM 的 FPGA 上生成大规模并行加速器的自动化工具流。设计人员可利用该流程整合并评估各种编译器或硬件优化。我们以计算流体动力学(CFD)作为范例。我们的流程从张量运算的高层规范出发,结合基于 MLIR 的编译器与自研硬件生成流程,生成具有并行加速器和专用存储器架构的系统,可高效搬移数据,旨在充分利用可用的 CPU-FPGA 带宽。我们模拟了百万级元素的应用,在面向 Xilinx Alveo U280 时,使用单个计算单元和自定义精度实现了高达 103 GFLOPS。我们的 FPGA 实现比专家定制的 Intel CPU 实现能效最高高 25 倍。
引用
@article{arxiv.2203.10850,
title = {Automatic Creation of High-Bandwidth Memory Architectures from Domain-Specific Languages: The Case of Computational Fluid Dynamics},
author = {Stephanie Soldavini and Karl F. A. Friebel and Mattia Tibaldi and Gerald Hempel and Jeronimo Castrillon and Christian Pilato},
journal= {arXiv preprint arXiv:2203.10850},
year = {2022}
}
备注
Accepted for publication in ACM Transactions on Reconfigurable Technology and Systems (TRETS)