Current research topicsMy two main research topics below are being blended in the ANR-funded MetaLibm project, 2014-2017.
Hardware and FPGA Arithmetic
Current focus is on the FloPoCo project, a generator of arithmetic cores for FPGA computing, the subject of Bogdan Pasca's PhD, then Matei Istoan's (on-going). Some cores are similar to what you find in your processor, but the main purpose of this project is to design radically new ones that exploit FPGA flexibility. This includes operators for the evaluation of elementary functions in floating-point, see for instance our flagship exponential function. In this context, we also revisited Kulisch's long accumulator, we did some work on decimal multiplication, on polynomial evaluation, constant multiplication and division, etc. Since I joined CITI Lab I am also working on cores for signal processing computing just right.
FloPoCo is also a VHDL generator framework with unique features, such as the frequency-directed construction of correct-by-design pipelines, and automatic testbench generation.
I am also interested in designing new general purpose hardware operators, such as the mixed-precision fused multiply-and-add and correctly-rounded sum of products we proposed for the Kalray processor. With the PhD of Nicolas Brunie, we also investigated the benefits of a closely-coupled reconfigurable accelerator in the context of a massively multicore design.
Previously, with Jérémie Detrey, who defended his PhD in 2007, we have been investigating fixed-point function evaluation (using table-and-addition methods or small multipliers). This has been used to design operators for the logarithm number systems in the FPLibrary project (now superseded by FloPoCo).
As FPGAs may be viewed as fine-grained massively parallel computers, I am also interested in programming methodologies inherited from the parallel computing community, which was the subject of my thesis.
Software implementation of elementary functions with correct rounding.
This was the subject of the PhDs of David Defour and Christoph Lauter. Work is still going on on the Correctly Rounded Math Library. This article describes the techniques used, see also this article and this one for recent results on the subject. CRLibm can also be used to build "perfect" elementary functions for interval arithmetic.