2020 · 14 citations · 1 references
ComputingComputer ScienceHigh-performance ComputingField-programmable Gate ArraysHeterogeneous ComputingMessage PassingDistributed Heterogeneous SystemsFpga ArchitectureFpga Programming ModelsHeterogeneous Cluster ComputingHeterogeneous System ArchitectureReconfigurable System ArchitectureField-programmable Gate Arrays (Fpgas)Heterogeneous Reconfigurable SystemsHigh-performance Computing SystemsMessage Passing InterfaceProgramming Model DesignReconfigurable Computing ArchitecturesReconfiguration Of Field-programmable Gate ArraysTechnology Scaling
Over the past two decades, the Message Passing Interface (MPI) has evolved as the de-facto standard for programming High-Performance Computing (HPC) clusters. Its widespread utilization led to the rapid development of applications and high reusability. Meanwhile, energy- and compute-efficient devices such as Field-Programmable Gate Arrays (FPGAs) are stepping into modern data centers and HPC clusters to address the nearing end of technology scaling. This combination of traditional CPU servers and FPGA nodes leads to Reconfigurable Heterogeneous HPC (ReH <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">2</sup> PC) systems that are particularly cumbersome to program because of the absence of a standard programming model. This work advocates the use of MPI to program such ReH <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">2</sup> PC clusters and presents a proof of concept based on a cross-compiler, a High-Level Synthesis library, C++ library, an FPGA- and a CPU-runtime environment. The result is a one-click solution, which compiles a standard MPI application for a ReH <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">2</sup> PC cluster.
1