DocumentCode
1650204
Title
Code Generators for Mathematical Functions
Author
Brunie, Nicolas ; De Dinechin, Florent ; Kupriianova, Olga ; Lauter, Christoph
Author_Institution
Kalray, Grenoble, France
fYear
2015
Firstpage
66
Lastpage
73
Abstract
A typical floating-point environment includes support for a small set of about 30 mathematical functions such as exponential, logarithm, trigonometric and hyperbolic 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 function 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 selection 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 the new challenges of this paradigm shift, and presents the current state of open-source function code generators available on http://www.metalibm.org/.
Keywords
floating point arithmetic; mathematics computing; program compilers; public domain software; software libraries; IEEE754 double precision; IEEE754 quad precision; IEEE754 single precision; arbitrary domains; code generation; design space exploration; exponential function; floating-point environment; hyperbolic function; instruction selection; libm; logarithm function; mathematical functions; mathematical software libraries; numerical function code; open-source function code generators; trigonometric function; Accuracy; Approximation methods; Generators; Libraries; Open source software; Polynomials; Standards; code generator; elementary functions; floating-point; libm; metalibm; polynomial evaluation; range reduction;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer Arithmetic (ARITH), 2015 IEEE 22nd Symposium on
Conference_Location
Lyon
ISSN
1063-6889
Print_ISBN
978-1-4799-8663-7
Type
conf
DOI
10.1109/ARITH.2015.22
Filename
7203797
Link To Document