Werbung
Nachdem die Daten nun sozusagen erzeugt worden sind, müssen sie verarbeitet werden. Richard C. Brower von der Universität Boston richtet seine Arbeit genau in diese Richtung. Es geht darum die Daten entsprechend aufzuarbeiten, die richtigen Algorithmen zu finden und diesen dann möglichst effizient auf der Hardware anzuwenden. GPUs öffnen einen Flaschenhals für parallele Berechnungen, bereits bestehende Algorithmen können recht einfach darauf angepasst werden. Erkannt wurde dies 2005-2006 durch eine Forschergruppe, NVIDIA erkannte das Potenzial ebenfalls recht schnell und setze die CUDA-Schnittstelle auf.
Doch nicht nur die Anzahl der Kerne ist ein wichtiger Punkt für die Rechenleistung von GPUs, sondern auch die Anbindung von Speicher und Cache. Das Verhältnis zwischen Speicher und Rechenleistung ist ebenfalls entscheidend. Ein Xeon X5680 erreicht eine Rechenleistung von 160 GFlops bei einer Speicherbandbreite von 32 GB/Sek. Bereits die GeForce GTX 480 erreicht 1345 GFlops bei einer Speicherbandbreite von 177,4 GB/Sek.
Auf Software-Seite geschehen ebenfalls Optimierungen bzw. eine Aufarbeitung der Daten. Über spezielle Algorithmen wird bei der Multiplikation von komplexen Zahlen in Matrizen das Datenaufkommen optimiert und damit die Effizient gesteigert. Bei modernen GPUs wird immer die theoretischen Rechenleistung von Single- und Double-Precision angegeben. Doch nicht immer wird eine doppelte Genauigkeit während der Berechnung benötigt, das Ergebnis aber sollte wieder so genau wie möglich sein. Auch hier werden die Daten im Vorfeld bearbeitet und im sogenannten „Double-Half-“Mode verarbeitet.
GPU-Computing: Heute und in der Zukunft
Derzeit arbeiten in drei der Top fünf Supercomputer NVIDIA GPUs. Der Tianhe-1A kommt auf 2,5 PFlops beim Einsatz von 7168 Tesla-GPUs und liegt damit auf Platz zwei. Auf Platz vier befindet sich der Nebulae mit 1,2 PFlops mit 4650 Tesla-GPUs. Direkt darauf folgt Tsumbame 2.0 auf Platz fünf mit 1,194 PFlops und 4224 Telsa-GPUs. Für 2013 plant man den Titan in Oak Ridge fertig zu stellen. Er soll auf eine Rechenleistung von 20 PFlops kommen. 18.000 Tesla-GPUs der nächsten Generation sollen dort zum Einsatz kommen.
Die Herausforderungen sind groß. Nach heutiger Technik würde ein Exaflop-Supercomputer eine Energie von 100 MW verbrauchen, was dem Verbrauch einer Großstadt entsprechen würde. Performance/Watt ist also die große Herausforderung für die Zukunft und damit auch der Maßstab für die zukünftige Entwicklung. Es geht dabei aber nicht nur um die reine Rechenleistung über mehr und mehr Kerne, sondern es muss an anderer Stelle angegriffen werden. Das Stichwort heißt hier Preemtion- und Virtual-Memory-Funktionen. NVIDIA spricht von frei konfigurierbarem Speicher. Dabei entscheidet der Anwender oder Programmierer, wie sich der Speicher aufteilen soll. In der Fermi-Architektur hat man bereits die Wahl entweder 16 kB L1-Cache und 48 kB shared-Memory oder 48 kB L1-Cache und 48 kB shared-Memory zu verwendet. Diese harte Grenzen sollen zukünftig aufgeweicht werden - ob schon in der nächsten Generation lies NVIDIA offen.
Wie eine zukünftige Cache- und Speicher-Anordnung und Hierarchie aussehen könnte, zeigte NVIDIA auch gleich. An einem Rechenbeispiel soll deutlich werden, warum eine effektive Datenverarbeitung und weniger das Computing selbst immer wichtiger wird. Die Berechnung eines 64 Bit Fließkomma Multiplikation (893500, 288914668 x 43,90230564772498) ist um den Faktor 4,7 weniger aufwendig als das Verschieben von drei 64 Bit Zahlen über eine Strecke von 20 mm auf einem Die. Dies wohlgemerkt in der 40-nm-Fertigung. In 10 nm wäre es sogar der Faktor 17. Damit nimmt NVIDIA auch schon die Bedeutung dieses Umstandes in der 28-nm-Fertigung vorweg.
PCI-Express 2.0 ist eine aktuelle Limitierung der GPU-Compute-Systeme. Das ist natürlich auch NVIDIA bewusst und so will man in der kommenden Generation auch auf den schnelleren Standard PCI-Express 3.0 wechseln. Dies ist allerdings keine Überraschung, AMD hat den Wechsel mit "Southern Island" schon vollzogen und für NVIDIA wurde dieser Schritt ohnehin erwartet.