Detailansicht

Simulating arbitrary floating point numbers
Jakob David Neuhauser
Art der Arbeit
Masterarbeit
Universität
Universität Wien
Fakultät
Fakultät für Physik
Studiumsbezeichnung bzw. Universitätlehrgang (ULG)
Masterstudium Computational Science
Betreuer*in
Wilfried Gansterer
Volltext herunterladen
Volltext in Browser öffnen
Alle Rechte vorbehalten / All rights reserved
DOI
10.25365/thesis.76705
URN
urn:nbn:at:at-ubw:1-10652.23486.964129-4
Link zu u:search
(Print-Exemplar eventuell in Bibliothek verfügbar)

Abstracts

Abstract
(Deutsch)
Ein Kerngebiet bei der Entwicklung von Algorithmen, welche Variablen mit verschiedenen Genauigkeiten verwenden, ist es, die Entscheidung zu treffen, wie präzise diese sein sollen. Dabei besteht eine übliche Schwierigkeit darin, dass die Verwendung von Datentypen mit höherer Genauigkeit die Berechnungen zwar präziser machen, jedoch gleichzeitig mehr Rechenzeit erfordert. Weiters sind auf aktueller Hardware in der Regel nur eine sehr begrenzte Anzahl verschiedener Datentypen vorhanden, was Analysen zusätzlich erschwert. Aus diesem Grund wurden Techniken entwickelt, um beliebige Datenformate zu simulieren. Trotz der Tatsache, dass solche Simulatoren das Verhalten verschiedener Typen gut darstellen können, fehlt ihnen die Fähigkeit, die relativen Leistungsunterschiede zwischen diesen aufzuzeigen. Daher stellt diese Arbeit einen ersten Prototyp eines in einfachem C++ programmierten Simulators für Gleitkommazahlen vor, welcher versucht, diese relativen Unterschiede beizubehalten. Leider sind die resultierenden Zeitabhängigkeiten, insbesondere für größere Datentypen, im Vergleich zu den Ergebnissen einer typischen CPU zulasten größerer Zahlen verzerrt. Dies liegt daran, dass beispielsweise Multiplikation und Division im Simulator eine quadratische Zeitkomplexität haben. Etwas, was bei einer normalen CPU aufgrund von Optimierungen, welche sich typischerweise in Software nicht effizient implementieren lassen, nicht der Fall ist. Um Möglichkeiten aufzuzeigen dieses Problem zu überwinden, wurde eine einfache mathematische Lösung erprobt, welche vielversprechende Ergebnisse zeigt.
Abstract
(Englisch)
Deciding which data types to use inside an algorithm is a core subject when designing multiprecision algorithms. Thereby, a usual difficulty is that using high-precision types makes the calculation more precise but simultaneously requires more computation time. Moreover, on current hardware, typically, only a very limited number of different data types are available to conduct analysis. Because of that, techniques were developed to simulate arbitrary data types. Even though such simulators can depict the behavior of different data types, they lack the ability to showcase the performance differences between them. Therefore, this thesis represents the first prototype of a simulator for FPNs, which maintains the relative performance differences implemented in basic C++. Unfortunately, the resulting time dependencies, especially for larger data types, tend to be biased towards longer execution times compared to those produced by a typical CPU. This is due to, for instance, multiplication and division having a quadratic time complexity inside the simulator, which is not the case inside a normal CPU due to optimizations that are not possible to implement efficiently in software. To explore ways to overcome this problem, a straightforward mathematical solution was introduced, which showed promising results.

Schlagwörter

Schlagwörter
(Deutsch)
Gleitkommazahl Simulation Iterative Refinement Algorithmen mit verschiedenen Genauigkeiten
Schlagwörter
(Englisch)
Floating Point Numbers Simulation Iterative Refinement Multiprecision Algorithms Mixed-Precision Algorithms
Autor*innen
Jakob David Neuhauser
Haupttitel (Englisch)
Simulating arbitrary floating point numbers
Paralleltitel (Deutsch)
Simulieren von beliebigen Gleitkommazahlen
Publikationsjahr
2024
Umfangsangabe
xv, 137 Seiten : Illustrationen
Sprache
Englisch
Beurteiler*in
Wilfried Gansterer
Klassifikation
54 Informatik > 54.76 Computersimulation
AC Nummer
AC17332030
Utheses ID
72248
Studienkennzahl
UA | 066 | 910 | |
Universität Wien, Universitätsbibliothek, 1010 Wien, Universitätsring 1