Fortran 高层次综合:降低在 FPGA 上加速 HPC 代码的门槛
分布式、并行与集群计算
2023-08-28 v1
摘要
近年来,使用 FPGA 加速科学应用的增长显著,众多应用展示了 FPGA 在高性能工作负载上的优势。然而,尽管高层次综合(HLS)通过使程序员能够使用 C++ 显著降低了 FPGA 编程的入门门槛,一个主要挑战是这些代码大多并非最初用 C++ 编写。相反,Fortran 是科学计算的通用语言,因此在考虑 FPGA 之前,就需要一个复杂且耗时的初始步骤将其转换为 C++。在本文中,我们描述了通过连接 LLVM Flang 前端与 AMD Xilinx 的 LLVM 后端,使 Fortran 支持 AMD Xilinx FPGA 的工作。这使程序员能够将 Fortran 作为编程 FPGA 的一等语言,并且正如我们所展示的,享受到 HLS C++ 所提供的所有调优与优化机会。此外,我们证明 Fortran 的某些语言特性使其相比 C++ 在编程 FPGA 时尤其有益。这项工作的成果是降低了科学计算中 FPGA 使用的入门门槛,使程序员能够直接在 FPGA 上利用其现有代码库与首选语言。
引用
@article{arxiv.2308.13274,
title = {Fortran High-Level Synthesis: Reducing the barriers to accelerating HPC codes on FPGAs},
author = {Gabriel Rodriguez-Canal and Nick Brown and Tim Dykes and Jessica R. Jones and Utz-Uwe Haus},
journal= {arXiv preprint arXiv:2308.13274},
year = {2023}
}
备注
Author accepted version to appear in 33rd International Conference on Field-Programmable Logic and Applications