High-performance floating-point computing on reconfigurable circuits

Bogdan Mihai Pasca 1, 2
2 ARENAIRE - Computer arithmetic
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Abstract : Due to their potential performance and unmatched flexibility, FPGA-based accelerators are part of more and more high-performance computing systems. However, exploiting this flexibility for accelerating floating-point computations by manually using classical circuit description languages (VHDL or Verilog) is very difficult, and sometimes impossible. This thesis has contributed to the development of the FloPoCo software, a C++ framework for describing flexible FPGA-specific arithmetic operators. This framework explicitly separates the description of the combinatorial functionality of an arithmetic operator, and its pipelining for a given precision, operating frequency and target FPGA.In order to be able to use FloPoCo for designing high performance floating-point operators, we first had to design the optimized basic blocks. We first developed pipelined addition architectures exploiting the fast-carry lines present in modern FPGAs. Next, we focused on multiplication architectures. Using tiling techniques, we proposed novel architectures for large multipliers, but also truncated multipliers, based on the multipliers found in modern FPGA DSP blocks. We also present a generic FloPoCo operator which inputs the expression of a function, its input and output precisions, and builds an optimized polynomial evaluator for the fixed-point evaluation of this function. Using this building block we have designed floating-point operators for the square-root and exponential functions which significantly outperform existing operators. Finally, we also made use of advanced compilation techniques for adapting the execution of a C program to the flexible pipelines of our operators.
Document type :
Other [cs.OH]. Ecole normale supérieure de lyon - ENS LYON, 2011. English. < NNT : 2011ENSL0656 >
Liste complète des métadonnées

Contributor : Abes Star <>
Submitted on : Thursday, April 26, 2012 - 6:22:31 PM
Last modification on : Friday, June 16, 2017 - 11:20:13 AM
Document(s) archivé(s) le : Thursday, December 15, 2016 - 3:18:38 AM


Version validated by the jury (STAR)


  • HAL Id : tel-00654121, version 2



Bogdan Mihai Pasca. High-performance floating-point computing on reconfigurable circuits. Other [cs.OH]. Ecole normale supérieure de lyon - ENS LYON, 2011. English. < NNT : 2011ENSL0656 >. <tel-00654121v2>



Record views


Document downloads