Eintrag vom 24. Juli 2007:

Ich würde es gerne genauer nehmen!


Die IT-Welt ist ein schnelllebige Zeit. Alles ändert sich, alles wird besser, alles wird schneller, alles wird leistungsfähiger. Alles? Nein, ein kleines (nicht gallisches) Dorf und seine Bewohner leisten verbitterten Widerstand - die Fließkommazahlen.

Kaum ein Thema wird in der (IT-)Öffentlichkeit so ignoriert wie das der prinzipiell eingeschränkten Genauigkeit der heute immer noch üblichen Fließkommaarithmetik. Genauso wie vor 20 Jahren rechnen alle gängigen Systeme mit lächerlichen 64 Bits pro Fließkommazahl. Dazu muss man sich klarmachen, dass in dieser Zeit die Größe der Zeiger und Ganzzahlen von 16 auf 64 Bits gestiegen ist, sich also vervierfacht hat. Nur die Fließkommazahl blieb bei ihrer alten Größe stehen.

Effektiv bedeutet dies 15-stellige Dezimalzahlen mit Exponenten bis 10 hoch 308. Hört sich im ersten Moment gut an, ist aber eigentlich lächerlich. Kaum rechnet man nämlich ein bisschen mit diesen Zahlen, steigern sich die Fehler immens. Eine 4×4 Matrixmultiplikation besteht aus so vielen Operationen, dass das Ergebnis schon locker ein bis zwei Stellen an Genauigkeit einbüßt. Wird das Ganze noch ein paar Mal wiederholt, stimmt nichts mehr. Lösen Sie einmal eine Gleichung dritten Grades auf analytischem Weg - das Ergebnis kann durchaus schon in der 5. oder 6. Dezimalstelle abweichen.

Ich würde gerne genauer rechnen, aber das ist kaum möglich. Denn kein Prozessor unterstützt Fließkomma­zahlen mit mehr als 80 Bits (effektiv 64 Bits), und alle Software-Fließkomma­bibliotheken für höhere Genauigkeiten sind furchterregend langsam. Deshalb hier mein Wunsch, mein Flehen:

Lieber Herr Intel, lieber Herr Amd (was ist das überhaupt für ein Name?), bitte bauen Sie endlich eine Fließkommaarithmetikeinheit für 128 und 256 Bits in Ihre ansonsten so tollen Prozessoren ein. Der Exponent muss dabei nicht mehr nennenswert wachsen, mehr als 16 Bits benötigt niemand. Aber die Mantisse!

Was würde ich darum geben, endlich mit 33 oder gar 72 Dezimalstellen in akzeptabler Zeit rechnen zu können! Und ich glaube, viele andere Anbieter von wissenschaftlicher Software würden Ihnen dafür die Füße küssen. Aber mir ist schon klar, dass dies niemals geschehen wird. Denn heute zählt doch nur noch, wie schnell ein Prozessor im Zusammenspiel mit einer Grafikkarte die fiktiven Welten der Spieleentwickler auf den Bildschirm bringt.

Da haben ernsthafte, wissenschaftliche Anwendungen keine Bedeutung mehr…

©2007 Stefan Malz