Fortran High-Level Synthesis: Reducing the barriers to accelerating HPC codes on FPGAs

被引:0
作者
Rodriguez-Canal, Gabriel [1 ]
Brown, Nick [1 ]
Dykes, Tim [2 ]
Jones, Jess [2 ]
Haus, Utz-Uwe [2 ]
机构
[1] Univ Edinburgh, EPCC, Edinburgh, Midlothian, Scotland
[2] Hewlett Packard Enterprise, HPC AI EMEA Res Lab, Spring, TX USA
来源
2023 33RD INTERNATIONAL CONFERENCE ON FIELD-PROGRAMMABLE LOGIC AND APPLICATIONS, FPL | 2023年
关键词
FPGAs; Fortran; High Level Synthesis; HPC;
D O I
10.1109/FPL60245.2023.00010
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
In recent years the use of FPGAs to accelerate scientific applications has grown, with numerous applications demonstrating the benefit of FPGAs for high performance workloads. However, whilst High Level Synthesis (HLS) has significantly lowered the barrier to entry in programming FPGAs by enabling programmers to use C++, a major challenge is that most often these codes are not originally written in C++. Instead, Fortran is the lingua franca of scientific computing and-so it requires a complex and time consuming initial step to convert into C++ even before considering the FPGA. In this paper we describe work enabling Fortran for AMD Xilinx FPGAs by connecting the LLVM Flang front end to AMD Xilinx's LLVM back end. This enables programmers to use Fortran as a first-class language for programming FPGAs, and as we demonstrate enjoy all the tuning and optimisation opportunities that HLS C++ provides. Furthermore, we demonstrate that certain language features of Fortran make it especially beneficial for programming FPGAs compared to C++. The result of this work is a lowering of the barrier to entry in using FPGAs for scientific computing, enabling programmers to leverage their existing codebase and language of choice on the FPGA directly.
引用
收藏
页码:10 / 18
页数:9
相关论文
共 19 条
  • [1] Brainerd W, 2003, Journal of Modern Applied Statistical Methods, V2, P3
  • [2] Brown N., 2020, arXiv
  • [3] Porting incompressible flow matrix assembly to FPGAs for accelerating HPC engineering simulations
    Brown, Nick
    [J]. PROCEEDINGS OF SEVENTH INTERNATIONAL WORKSHOP ON HETEROGENEOUS HIGH-PERFORMANCE RECONFIGURABLE COMPUTING (H2RC 2021), 2021, : 9 - 20
  • [4] Accelerating advection for atmospheric modelling on Xilinx and Intel FPGAs
    Brown, Nick
    [J]. 2021 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER 2021), 2021, : 767 - 774
  • [5] Curzel S., 2022, IMPACT 2022 12 INT W, P1
  • [6] An Analytical Model of Memory-Bound Applications Compiled with High Level Synthesis
    Davila-Guzman, Maria A.
    Tejero, Ruben Gran
    Villarroya-Gaudo, Maria
    Gracia, Dario Suarez
    [J]. 28TH IEEE INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), 2020, : 218 - 218
  • [7] A single-source C++20 HLS flow for function evaluation on FPGA and beyond
    Forget, Luc
    Harnisch, Gauthier
    Keryell, Ronan
    de Dinechin, Florent
    [J]. PROCEEDINGS OF THE 12TH INTERNATIONAL SYMPOSIUM ON HIGHLY EFFICIENT ACCELERATORS AND RECONFIGURABLE TECHNOLOGIES, HEART 2022, 2022, : 51 - 58
  • [8] Hrica J., 2012, Xilinx Application Note
  • [9] The State of Fortran
    Kedward, Laurence J.
    Aradi, Balint
    Certik, Ondrej
    Curcic, Milan
    Ehlert, Sebastian
    Engel, Philipp
    Goswami, Rohit
    Hirsch, Michael
    Lozada-Blanco, Asdrubal
    Magnin, Vincent
    Markus, Arjen
    Pagone, Emanuele
    Pribec, Ivan
    Richardson, Brad
    Snyder, Harris
    Urban, John
    Vandenplas, Jeremie
    [J]. COMPUTING IN SCIENCE & ENGINEERING, 2022, 24 (02) : 63 - 72
  • [10] MLIR: Scaling Compiler Infrastructure for Domain Specific Computation
    Lattner, Chris
    Amini, Mehdi
    Bondhugula, Uday
    Cohen, Albert
    Davis, Andy
    Pienaar, Jacques
    Riddle, River
    Shpeisman, Tatiana
    Vasilache, Nicolas
    Zinenko, Oleksandr
    [J]. CGO '21: PROCEEDINGS OF THE 2021 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2021, : 2 - 14