z-logo
open-access-imgOpen Access
Energy-efficient algebra kernels in FPGA for High Performance Computing
Author(s) -
Federico Favaro,
Ernesto Dufrechou,
Pablo Ezzatti,
Juan Pablo Oliver
Publication year - 2021
Publication title -
journal of computer science and technology
Language(s) - English
Resource type - Journals
eISSN - 1666-6046
pISSN - 1666-6038
DOI - 10.24215/16666038.21.e09
Subject(s) - computer science , field programmable gate array , parallel computing , verilog , massively parallel , matrix multiplication , computer architecture , implementation , multi core processor , efficient energy use , embedded system , programming language , physics , quantum mechanics , quantum , electrical engineering , engineering
The dissemination of multi-core architectures and the later irruption of massively parallel devices, led to a revolution in High-Performance Computing (HPC) platforms in the last decades. As a result, Field-Programmable Gate Arrays (FPGAs) are re-emerging as a versatile and more energy-efficient alternative to other platforms. Traditional FPGA design implies using low-level Hardware Description Languages (HDL) such as VHDL or Verilog, which follow an entirely different programming model than standard software languages, and their use requires specialized knowledge of the underlying hardware. In the last years, manufacturers started to make big efforts to provide High-Level Synthesis (HLS) tools, in order to allow a grater adoption of FPGAs in the HPC community.Our work studies the use of multi-core hardware and different FPGAs to address Numerical Linear Algebra (NLA) kernels such as the general matrix multiplication GEMM and the sparse matrix-vector multiplication SpMV. Specifically, we compare the behavior of fine-tuned kernels in a multi-core CPU processor and HLS implementations on FPGAs. We perform the experimental evaluation of our implementations on a low-end and a cutting-edge FPGA platform, in terms of runtime and energy consumption, and compare the results against the Intel MKL library in CPU.  

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here