Computing floating-point logarithms with fixed-point operations

Julien Le Maire 1 Nicolas Brunie 2 Florent De Dinechin 3, 4 Jean-Michel Muller 5, 6
3 SOCRATE - Software and Cognitive radio for telecommunications
Inria Grenoble - Rhône-Alpes, UCBL - Université Claude Bernard Lyon 1, CITI - CITI Centre of Innovation in Telecommunications and Integration of services
5 ARIC - Arithmetic and Computing
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Abstract : Elementary functions from the mathematical library input and output floating-point numbers. However it is possible to implement them purely using integer/fixed-point arithmetic. This option was not attractive between 1985 and 2005, because mainstream processor hardware supported 64-bit floating-point, but only 32-bit integers. Besides, conversions between floating-point and integer were costly. This has changed in recent years, in particular with the generalization of native 64-bit integer support. The purpose of this article is therefore to reevaluate the relevance of computing floating-point functions in fixed-point. For this, several variants of the double-precision logarithm function are implemented and evaluated. Formulating the problem as a fixed-point one is easy after the range has been (classically) reduced. Then, 64-bit integers provide slightly more accuracy than 53-bit mantissa, which helps speed up the evaluation. Finally, multi-word arithmetic, critical for accurate implementations, is much faster in fixed-point, and natively supported by recent compilers. Novel techniques of argument reduction and rounding test are introduced in this context. Thanks to all this, a purely integer implementation of the correctly rounded double-precision logarithm outperforms the previous state of the art, with the worst-case execution time reduced by a factor 5. This work also introduces variants of the logarithm that input a floating-point number and output the result in fixed-point. These are shown to be both more accurate and more efficient than the traditional floating-point functions for some applications.
Type de document :
Communication dans un congrès
23rd IEEE Symposium on Computer Arithmetic, Jul 2016, Santa Clara, United States. 2016
Liste complète des métadonnées

Littérature citée [17 références]  Voir  Masquer  Télécharger

https://hal.archives-ouvertes.fr/hal-01227877
Contributeur : Florent De Dinechin <>
Soumis le : jeudi 12 novembre 2015 - 11:10:25
Dernière modification le : mercredi 18 octobre 2017 - 13:54:03
Document(s) archivé(s) le : vendredi 28 avril 2017 - 08:30:28

Fichier

2015-FixFloat.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01227877, version 1

Collections

Citation

Julien Le Maire, Nicolas Brunie, Florent De Dinechin, Jean-Michel Muller. Computing floating-point logarithms with fixed-point operations. 23rd IEEE Symposium on Computer Arithmetic, Jul 2016, Santa Clara, United States. 2016. 〈hal-01227877〉

Partager

Métriques

Consultations de la notice

372

Téléchargements de fichiers

1026