Christopher A. Wood

High Level Synthesis - Where Are We? A Case Study on Matrix Multiplication

S. Skalicky, C. A. Wood, M. Lukowiak, and M. Ryan

2013 International Conference on Reconfigurable Computing and FPGAs - ReConFig 2013, Cancun, Mexico. December 2013

Materials

Abstract

One of the pitfalls of FPGA design is the relatively long implementation time when compared to alternative architec- tures, such as CPU, GPU or DSP. This time can be greatly reduced however by using tools that can generate hardware systems in the form of a hardware description language (HDL) from high- level languages such as C, C++, or Python. Such implementations can be optimized by applying special directives that focus the high-level synthesis (HLS) effort on particular objectives, such as performance, area, throughput, or power consumption. In this paper we examine the benefits of this approach by comparing the performance and design times of HLS generated systems versus custom systems for matrix multiplication. We investigate matrix multiplication using a standard algorithm, Strassen algorithm, and a sparse algorithm to provide a comprehensive analysis of the capabilities and usability of the Xilinx Vivado HLS tool. In our experience, a hardware-oriented electrical engineering student can achieve up to 61% of the performance of custom designs with 1/3 the effort, thus enabling faster hardware acceleration of many compute-bound algorithms.

BibTeX

@inproceedings{skalicky2013high,
 title={High level synthesis: Where are we? A case study on matrix multiplication},
 author={Skalicky, Sam and Wood, Christopher and Lukowiak, Marcin and Ryan, Matthew},
 booktitle={Reconfigurable Computing and FPGAs (ReConFig), 2013 International Conference on},
 pages={1--7},
 year={2013},
 organization={IEEE}
 }