Auto-tuning for floating-point precision with Discrete Stochastic Arithmetic - Graillat, Stef; Jézéquel, Fabienne; Picot, Romain; Févotte, François; Lathuilière, Bruno (Journal of computational science, 2019)
•An algorithm and a software are proposed for floating-point precision auto-tuning.•Input programs are automatically modified taking into account accuracy requirements.•Discrete Stochastic Arithmetic is used to verify the results accuracy.•Performance results are presented on several benchmarks and on an industrial code. The type length chosen for floating-point numbers (e.g. 32 bits or 64 bits) may have an impact on the execution time, especially on SIMD (Single Instruction Multiple Data) units. Furthermore optimizing the types used in a numerical simulation causes a reduction of the data volume that is possibly transferred. In this paper we present PROMISE, a tool that makes it possible to optimize the numerical types in a program by taking into account the requested accuracy on the computed results. With PROMISE the numerical quality of results is verified using DSA (Discrete Stochastic Arithmetic) that enables one to estimate round-off errors. The search for a suitable type configuration is performed with a reasonable complexity thanks to the delta debugging algorithm. 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.