Upload
hrodgar-regas
View
105
Download
0
Embed Size (px)
Citation preview
Kosten / Nutzen-Optimierung komplexer Floating-Point-
Berechnungen unter Ausnutzung variabler Präzision
„Programming Language Design and Implementation“
Daniel Weber, Tobias Ickler
Darstellung von Gleitkommazahlen
x = (-1) s m ∙ ∙ β e z.B.z.B.
x = + 3,212 10 ∙ 3,212 10 ∙ -4
mit
m = d0 , d1 d2 d3 … dp-1 (mit 0 ≤ di < β) s є { 0, 1 }, β : Basis, e : Exponent
IEEE 754
Präzision Mantisse Exponent Zahlenbereich (dezimal)
32 Bit single precision
23 Bits 8 Bit-127 ≤ e ≤ +128
- 1,175 ∙∙ 1038 bis 3,403 ∙ ∙ 1038
64 Bitdouble precision
52 Bits 11 Bits-1022 ≤ e ≤ 1023
- 2,225 ∙∙ 10308 bis 1,798 ∙ ∙10308
Rundungsfehler
x1 = 0,03214
β = 10, p = 3
x2 = 3,21 10∙ -2
0,4 ulps („units in the last place“) Fehler
Fehler
Absoluter Fehler in einer Gleitkommaoperation:
½ β –p ≤ ½ ulps ≤ ½ β 1 - p
Maximaler relativer Fehler:
ε = ½ β 1 – p
Computational Graphs
Variable Präzision
Geht man davon aus, dass in jeder Operation mit einer unterschiedlichen Präzision gerechnet wird, gilt
εp = ½ β 1 – p
mitεp-1 = 2 ∙ εp
Problemstellung
Lösung für das Problem bei variabler Präzision mit minimalen Kosten einen vorgegebenen Fehlerwert nicht zu überschreiten, wobei die Kosten durch die Anzahl der Operationen und deren Präzision bestimmt wird.
Kostenfunktion:
Verbindung zu Programmiersprachen
• Hardwarebeschreibungssprachen• FPGAs• Günstige Produktion oder zeitkritische
Anwendung
Beispiele für mögliche Funktionsaufrufe:
x = a +24 bx = opt16 ( (a + b / 4) b , a = [a∙ 1, a2], b = (b1, b2])
Fragen?
Vielen Dank für die Aufmerksamkeit!