PROMISE: floating-point precision tuning with stochastic arithmetic

Abstract : Nowadays, most floating-point computations in numerical simulations are performed in IEEE 754 binary64 precision (double precision). This means that a relative accuracy of about 10−16 is provided for every arithmetic operation. Indeed, in practice, programmers tend to use the highest precision available in hardware which is the double precision on current processors. This approach can be costly in terms of computing time, memory transfer and energy consumption [1]. A better strategy would be to use no more precision than needed to get the desired accuracy on the computed result. The challenge of using mixed precision is to find some parts of codes (and so variables) that may be executed with lower precision. Unfortunately the amount of possible configurations is exponential in the number of variables. To overcome this difficulty, we propose an algorithm and a tool called PROMISE (PRecision OptiMISEd) based on the delta debugging search algorithm [2] that provide a mixed precision configuration with a worst-case complexity quadratic in the number of variables. From an initial C or C++ program and a required accuracy on the computed result, PROMISE automatically modifies the precision of variables. To estimate the numerical quality of results, PROMISE uses Discrete Stochastic Arithmetic (DSA) [3] which controls round-off errors in simulation programs. Unlike Precimonious [4], PROMISE does not focus on performance constraints, it can rather be seen as a tool helping developers to reduce the cost of double precision variables and improve the memory usage of their code. The PROMISE tool has been successfully tested on programs implementing several numerical algorithms including linear system solving and also on an industrial code that solves the neutron transport equations [5].
Document type :
Conference papers
Complete list of metadatas
Contributor : Romain Picot <>
Submitted on : Monday, August 22, 2016 - 9:51:03 AM
Last modification on : Thursday, March 21, 2019 - 1:19:45 PM


  • HAL Id : hal-01355005, version 1


Stef Graillat, Fabienne Jézéquel, Romain Picot, François Févotte, Bruno Lathuilière. PROMISE: floating-point precision tuning with stochastic arithmetic. 17th international symposium on Scientific Computing, Computer Arithmetic and Verified Numerics (SCAN 2016), Sep 2016, UPPSALA, Sweden. pp.98-99. ⟨hal-01355005⟩



Record views