Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler...

11
Kosten / Nutzen- Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision „Programming Language Design and Implementation“ Daniel Weber, Tobias Ickler

Transcript of Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler...

Page 1: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

Kosten / Nutzen-Optimierung komplexer Floating-Point-

Berechnungen unter Ausnutzung variabler Präzision

„Programming Language Design and Implementation“

Daniel Weber, Tobias Ickler

Page 2: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

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

Page 3: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

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

Page 4: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

Rundungsfehler

x1 = 0,03214

β = 10, p = 3

x2 = 3,21 10∙ -2

0,4 ulps („units in the last place“) Fehler

Page 5: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

Fehler

Absoluter Fehler in einer Gleitkommaoperation:

½ β –p ≤ ½ ulps ≤ ½ β 1 - p

Maximaler relativer Fehler:

ε = ½ β 1 – p

Page 6: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

Computational Graphs

Page 7: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

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

Page 8: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

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:

Page 9: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

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])

Page 10: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

Fragen?

Page 11: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation.

Vielen Dank für die Aufmerksamkeit!