Einführung

Das Verständnis dafür, welches Genauigkeitsformat für eine Berechnung verwendet werden sollte, ist entscheidend, kann sich aber manchmal wie eine Gratwanderung anfühlen: Die Präzision bei Computing mit doppelter Genauigkeit scheint im Wettstreit mit dem Performance-Wert seines Gegenspielers mit einfacher Genauigkeit zu stehen. Beide sorgen für Präzision und loten die Grenzen der numerischen Werte aus, aber jede Technik verfolgt einen einzigartigen Zweck mit jeweiligen Betriebskosten.

Hier betrachten wir jedes Format genauer – wie sie sich voneinander unterscheiden und wie Sie verschiedene Genauigkeitsstufen kombinieren können, um die Effizienz ohne Einbußen bei der Präzision aufrechtzuerhalten.

Die Rolle der Genauigkeit in der Informatik

Um die Unterschiede zwischen Computing mit einfacher und doppelter Genauigkeit verstehen zu können, muss man unbedingt die Rolle der Genauigkeit in der Informatik begreifen. Stellen Sie sich vor, Sie führen eine Berechnung mit einer irrationalen Zahl (z. B. pi) durch und verwenden dabei nur zwei Stellen rechts vom Dezimalkomma (3,14). Sie würden ein genaueres Ergebnis erhalten, wenn die Berechnung mit zehn Stellen rechts vom Dezimalkomma (3,1415926535) erfolgte.

Bei Computern wird diese Präzisionsstufe Genauigkeit genannt und wird in Binärziffern (Bit) anstelle von Dezimalstellen gemessen. Je mehr Bit verwendet werden, desto höher die Genauigkeit.

Man on computer in a dim room with a city view.

IEEE Standard-Gleitkommazahlendarstellung

Die Darstellung großer Zahlen in Computer-Binärcode erfordert einen Standard, der gewährleistet, dass es bei Berechnungen keine großen Diskrepanzen gibt. Deshalb hat das Institute of Electrical and Electronics Engineers (IEEE) den IEEE Standard for Floating-Point Arithmetic (IEEE 754) entwickelt. 

Es gibt drei Bestandteile des IEEE 754:

  1. Die Basis: 0 stellt eine positive Zahl und 1 ein negative Zahl dar. 
  2. Der Exponent: Mithilfe des Exponentenlassen sich owohl positive als auch negative Exponenten darstellen. Deshalb muss dem eigentlichen Exponenten ein Bias hinzugefügt werden, mit dem gespeicherte Exponenten abgerufen wird. 
  3. Die Mantisse: Die Mantisse, auch als Signifikant bezeichnet, stellt die Genauigkeitsbit der Zahl dar.

Mithilfe dieser Komponenten stellt IEEE 754 Gleitkommazahlen in zwei unterschiedlichen Formaten dar – mit einfacher und mit doppelter Genauigkeit. Auch wenn es weiterhin verschiedenste Arten zur Darstellung von Gleitkommazahlen gibt, ist IEEE 754 die gängigste, da es allgemein die effizienteste Darstellung numerischer Werte ist. 

Blue abstract data dots

IEEE Standard-Gleitkommazahlendarstellung

Die Darstellung großer Zahlen in Computer-Binärcode erfordert einen Standard, der gewährleistet, dass es bei Berechnungen keine großen Diskrepanzen gibt. Deshalb hat das Institute of Electrical and Electronics Engineers (IEEE) den IEEE Standard for Floating-Point Arithmetic (IEEE 754) entwickelt. 

Es gibt drei Bestandteile des IEEE 754:

  1. Die Basis: 0 stellt eine positive Zahl und 1 ein negative Zahl dar. 
  2. Der Exponent: Mithilfe des Exponenten lassen sich sowohl positive als auch negative Exponenten darstellen. Deshalb muss dem eigentlichen Exponenten ein Bias hinzugefügt werden, mit dem der gespeicherte Exponent abgerufen wird. 
  3. Die Mantisse: Die Mantisse, auch als Signifikant bezeichnet, stellt die Genauigkeitsbit der Zahl dar.

Mithilfe dieser Komponenten stellt IEEE 754 Gleitkommazahlen in zwei unterschiedlichen Formaten dar – mit einfacher und mit doppelter Genauigkeit. Auch wenn es weiterhin verschiedenste Arten zur Darstellung von Gleitkommazahlen gibt, ist IEEE 754 die gängigste, da es allgemein die effizienteste Darstellung numerischer Werte ist. 

Was ist ein Gleitkommaformat mit einfacher Genauigkeit?

Ein Gleitkommaformat mit einfacher Genauigkeit verwendet 32 Bit des Computerspeichers und kann ein großes Spektrum an numerischen Werten darstellen. Dieses Format, das oft als FP32 bezeichnet wird, wird am besten für Berechnungen verwendet, für die eine gewisse Annäherung nicht entscheidend ist.

Was ist ein Gleitkommaformat mit doppelter Genauigkeit?

Das Gleitkommaformat mit doppelter Genauigkeit hingegen belegt 64 Bit des Computerspeichers und ist deutlich genauer als das Format mit einfacher Genauigkeit. Dieses Format wird oft als FP64 bezeichnet und wird zur Darstellung von Werten genutzt, die einen größeren Bereich oder eine genauere Berechnung erfordern.

Obwohl die doppelte Genauigkeit mehr Präzision ermöglicht, erfordert sie auch mehr Rechenressourcen, Speicherkapazität und Datenübertragung. Die Kosten für die Nutzung dieses Formats sind nicht bei jeder Berechnung sinnvoll.

Der Unterschied zwischen einfacher und doppelter Genauigkeit

Am einfachsten kann man Computing mit einfacher und doppelter Genauigkeit unterscheiden, wenn man die Bit betrachtet, die von der Gleitkommazahl dargestellt werden. Bei der einfachen Genauigkeit werden 32 Bit zur Darstellung der Gleitkommazahl verwendet. Bei der doppelten Genauigkeit werden 64 Bit zur Darstellung der Gleitkommazahl verwendet. 

Betrachten wir als Beispiel die Eulersche Zahl (e). Dies sind die ersten 50 Dezimalstellen von e: 2.7182818284590452353602874713526624977572470936999.

Dies ist die Eulersche Zahl in Binärcode, konvertiert in einfache Genauigkeit:  
01000000001011011111100001010100

Dies ist die Eulersche Zahl in Binärcode, konvertiert in doppelte Genauigkeit: 
010000000000010110111111 0000101010001011000101000101011101101001

Die erste Zahl stellt die Basis dar. Das nächste Set von Zahlen (acht bei einfacher Genauigkeit und elf bei doppelter Genauigkeit) stellt den Exponenten dar. Das letzte Set von Zahlen (23 bei einfacher Genauigkeit und 52 bei doppelter Genauigkeit) stellt die Mantisse dar.

Vergleichsdiagramm: Einfache Genauigkeit im Vergleich zu doppelter Genauigkeit

 

Einfache Genauigkeit

Doppelte Genauigkeit

Übersicht

Verwendet 32 Bit Speicher zur Darstellung eines numerischen Werts, wobei eines der Bit das Vorzeichen der Mantisse darstellt

Verwendet 64 Bit Speicher zur Darstellung eines numerischen Werts, wobei eines der Bit das Vorzeichen der Mantisse darstellt

 

Exponent

 

8 Bit für den Exponenten verwendet

 

11 Bit für den Exponenten verwendet

 

Mantisse

 

Verwendet 23 Bit für die Mantisse (zur Darstellung der Nachkommastelle)

 

Verwendet 52 Bit für die Mantisse (zur Darstellung der Nachkommastelle)

 

Praktische Anwendung

Wird oft für Spiele oder Programme verwendet, die eine breitere Darstellung ohne ein hohes Maß an Genauigkeit erfordern

Wird oft für wissenschaftliche Berechnungen und komplexe Programme verwendet, die ein hohes Maß an Genauigkeit erfordern

Computing mit mehrfacher Genauigkeit im Vergleich zu gemischter Genauigkeit

Neben dem Computing mit einfacher und doppelter Genauigkeit, das als Computing mit mehrfacher Genauigkeit angesehen wird, gibt es auch Computing mit gemischter Genauigkeit.

Computing mit gemischter Genauigkeit, im Englischen auch als „transprecision“ bezeichnet, wird häufig im Bereich des maschinellen Lernens verwendet. Dabei werden zunächst Berechnungen durchgeführt, die mit Werten mit halber Genauigkeit (16 Bit) für eine schnelle Matrixberechnung beginnen. Anschließend werden die Zahlen von der Maschine während der Berechnung mit einer höheren Genauigkeit gespeichert. 

Der Vorteil des Computing mit gemischter Genauigkeit ist, dass es akkumulierte Antworten bietet, die denen aus dem Computing mit doppelter Genauigkeit ähnlich sind, wobei sie nicht das gleiche Maß an Leistung, Laufzeit und Speicher benötigen.

Blue abstract computer chip layout

Vorteile des Mischens verschiedener Genauigkeitsstufen

Unterschiedliche Auslastungen erfordern verschiedene Genauigkeitsstufen, da zum Ausführen von Berechnungen keine Einheitslösungen eingesetzt werden können. Computerwissenschaftler benötigen verschiedene Formate für die Berechnung, die auf den verfügbaren Ressourcen, dem Budget, dem Speicher und anderen Variablen basieren. 

Aufgrund seiner unglaublichen Präzision ist die doppelte Genauigkeit z. B. möglicherweise am besten geeignet für Big-Data-Recherchen oder Wettersimulationen. Aber der Speicher und die Ressourcen, die für diese Berechnungen erforderlich sind, rechtfertigen nicht immer deren Einsatz. Entwickler können die Effizienz und den Rechenaufwand optimieren, indem sie nach Bedarf verschiedene Genauigkeitsstufen mischen. 

Recheneffizienz optimieren

Auch wenn die Präzision beim Computing sicherlich unerlässlich ist, ist es wichtig zu verstehen, wie man von der Verwendung einer Vielzahl von Genauigkeitsstufen profitieren kann. Um operative Effizienz sicherzustellen, ohne dabei auf genaue Berechnungen zu verzichten, benötigt man flexible Fähigkeiten, die unterschiedliche Gleitkommaformate unterstützen.

AMD Vivado™ Design Suite

AMD Vivado™ ML und System Generator für DSP von AMD bieten stabile Tools, die verschiedene Gleitkommagenauigkeiten unterstützen – sowohl mit mehrfacher Genauigkeit als auch mit gemischter Genauigkeit. Diese branchenführende Tool-Suite bietet auch die Flexibilität einer benutzerdefinierten Genauigkeit, die das Design beschleunigt, die Produktivität erhöht und eine effiziente Nutzung von Ressourcen ermöglicht. Erfahren Sie, wie AMD Vivado Ihre Recheneffizienz steigern kann.

Verbunden bleiben

Melden Sie sich für den Newsletter an, um alle Neuigkeiten zum Thema Rechenzentrum zu erhalten oder um mit einem AMD Vertriebsexperten Kontakt aufzunehmen.