110 likes | 249 Vues
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. x = + 3,212 ∙ 10 -4. mit
E N D
Kosten / Nutzen-Optimierung komplexer Floating-Point-Berechnungen unter Ausnutzung variabler Präzision „ProgrammingLanguage Design andImplementation“ Daniel Weber, Tobias Ickler
Darstellung von Gleitkommazahlen x = (-1) s ∙ m ∙ βe z.B. x = + 3,212 ∙ 10 -4 mit m = d0 , d1 d2 d3 … dp-1 (mit 0 ≤ di < β) s є { 0, 1 }, β : Basis, e : Exponent
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
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 b x = opt16 ( (a + b / 4) ∙ b , a = [a1, a2], b = (b1, b2])