Performance and Resource Modeling for FPGAs using High-Level Synthesis tools

High-performance computing with FPGAs is gaining momentum with the advent of sophisticated High-Level Synthesis (HLS) tools. The performance of a design is impacted by the input-output bandwidth, the code optimizations and the resource consumption, making the performance estimation a challenge. This paper proposes a performance model which extends the roofline model to take into account the resource consumption and the parameters used in the HLS tools. A strategy is developed which maximizes the performance and the resource utilization within the area of the FPGA. The model is used to optimize the design exploration of a class of window-based image processing application.

[1]  Hiroaki Kobayashi,et al.  Performance tuning and analysis of future vector processors based on the roofline model , 2009, MEDEA '09.

[2]  Sw Williams The Roofline Model , 2010 .

[3]  Bruno da Silva,et al.  A Combined GPGPU-FPGA High-Performance Desktop , 2012, HiPEAC 2012.

[4]  Ki-Hwan Kim,et al.  Performance analysis and optimization of three-dimensional FDTD on GPU using roofline model , 2011, Comput. Phys. Commun..

[5]  Henk Corporaal,et al.  The boat hull model: adapting the roofline model to enable performance prediction for parallel computing , 2012, PPoPP '12.

[6]  Adrian Park,et al.  Designing Modular Hardware Accelerators in C with ROCCC 2.0 , 2010, 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines.

[7]  Marc Reichenbach,et al.  Analytical Model for the Optimization of Self-Organizing Image Processing Systems Utilizing Cellular Automata , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops.

[8]  M.G.M. Spierings,et al.  Embedded platform selection based on the Roofline model , 2012 .

[9]  Walid A. Najjar,et al.  Input data reuse in compiling window operations onto reconfigurable hardware , 2004, LCTES '04.

[10]  Samuel Williams,et al.  Roofline: an insightful visual performance model for multicore architectures , 2009, CACM.

[11]  Jianliang Xu,et al.  GPURoofline: A Model for Guiding Performance Optimizations on GPUs , 2012, Euro-Par.

[12]  Tomás F. Pena,et al.  Study of Performance Issues on a SMP-NUMA System using the Roofline Model , 2011 .

[13]  Chaitali Chakrabarti,et al.  Accurate Area, Time and Power Models for FPGA-Based Implementations , 2011, J. Signal Process. Syst..

[14]  Bruno da Silva,et al.  Performance and toolchain of a combined GPU/FPGA desktop (abstract only) , 2013, FPGA '13.