Code generators for mathematical functions

Nicolas Brunie 1 Florent De Dinechin 2, 3 Olga Kupriianova 4 Christoph Lauter 4
2 SOCRATE - Software and Cognitive radio for telecommunications
Inria Grenoble - Rhône-Alpes, CITI - CITI Centre of Innovation in Telecommunications and Integration of services
4 PEQUAN - Performance et Qualité des Algorithmes Numériques
LIP6 - Laboratoire d'Informatique de Paris 6
Abstract : A typical floating-point environment includes sup-port for a small set of about 30 mathematical functions such as exponential, logarithms and trigonometric functions. These functions are provided by mathematical software libraries (libm), typically in IEEE754 single, double and quad precision. This article suggests to replace this libm paradigm by a more general approach: the on-demand generation of numerical func-tion code, on arbitrary domains and with arbitrary accuracies. First, such code generation opens up the libm function space available to programmers. It may capture a much wider set of functions, and may capture even standard functions on non-standard domains and accuracy/performance points. Second, writing libm code requires fine-tuned instruction selec-tion and scheduling for performance, and sophisticated floating-point techniques for accuracy. Automating this task through code generation improves confidence in the code while enabling better design space exploration, and therefore better time to market, even for the libm functions. This article discusses, with examples, the new challenges of this paradigm shift, and presents the current state of open-source function code generators.
Type de document :
Communication dans un congrès
22d IEEE Symposium on Computer Arithmetic, Jun 2015, Lyon, France. 2015
Liste complète des métadonnées

Littérature citée [27 références]  Voir  Masquer  Télécharger
Contributeur : Olga Kupriianova <>
Soumis le : jeudi 20 novembre 2014 - 11:33:38
Dernière modification le : mercredi 11 avril 2018 - 01:54:38


metalibm (2).pdf
Fichiers produits par l'(les) auteur(s)


  • HAL Id : hal-01084726, version 2



Nicolas Brunie, Florent De Dinechin, Olga Kupriianova, Christoph Lauter. Code generators for mathematical functions. 22d IEEE Symposium on Computer Arithmetic, Jun 2015, Lyon, France. 2015. 〈hal-01084726v2〉



Consultations de la notice


Téléchargements de fichiers