kosten / nutzen-optimierung komplexer floating-point- berechnungen unter ausnutzung variabler...
TRANSCRIPT
![Page 1: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/1.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/2.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/3.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/4.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/5.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/6.jpg)
Computational Graphs
![Page 7: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/7.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/8.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/9.jpg)
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](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/10.jpg)
Fragen?
![Page 11: Kosten / Nutzen-Optimierung komplexer Floating-Point- Berechnungen unter Ausnutzung variabler Präzision Programming Language Design and Implementation](https://reader036.vdokument.com/reader036/viewer/2022082604/55204d7549795902118ca599/html5/thumbnails/11.jpg)
Vielen Dank für die Aufmerksamkeit!