GeForce GTX 280 im Test: Neues Nvidia-Flaggschiff lässt die Konkurrenz hinter sich
29/35GPU-Computing und CUDA
Vor noch nicht allzu langer Zeit waren Grafikkarten eigentlich nur für eines zu gebrauchen: Die Beschleunigung einer 3D-Applikation, meistens eines Spieles. Lange Zeit hat sich daran nichts geändert, da es mit den Fixed-Function-Pipelines kaum möglich war, die fest verdrahteten Recheneinheiten so zu umwinden, um andere Berechnungen auf der Grafikkarte auszuführen. Doch schon seit einigen Generationen hat sich die Situation vor allem mit der Einführung der Shadereinheiten, die man, zu Beginn noch wenig flexibel, programmieren und so die ALUs für die eigenen Zwecke manipulieren konnte, geändert.
Das erste brauchbare „Nebenprodukt“ war die Videobeschleunigung, die mittlerweile zu einem Großteil von der GPU ausgeführt wird. Mit der Direct3D-9- oder spätestens der Direct3D-10-API und den somit nötigen Änderungen an der Hardware, kann man eine GPU, vor allem die Shadereinheiten, für diverse, parallel ausgelegte Berechnungen benutzen, die bei optimierter Software und dem richtigen Einsatzgebiet eine deutlich höhere Performance als die „Allzweckwaffe CPU“ erzeugen können. Durch die mittlerweile diversen möglichen Berechnungen abseits der 3D-Grafik ist eine ganze neue Wissenschaft entstanden, die auf den Namen GPGPU (General Purpose Computation on Graphics Processing Unit) hört und mit der Zeit immer mehr Anhänger findet.
Dazu benutzt man meistens eine bereits vorhandene API (OpenGL), um die selbst geschriebenen Programme auf der Grafikkarte auszuführen. Mittlerweile sind sowohl ATi als auch Nvidia einen Schritt weiter, und bieten für GPU-Anwendungen spezielle Schnittstellen an, die genau für diesen Zweck entwickelt worden sind und unter die Kategorie „GPU-Computing“ fallen. ATis Entwicklung hört auf den Namen CAL (Compute Abstraction Layer) und stellt nichts anderes als eine sehr hardwarenahe (und somit zwar optimierte, aber umständliche) Sprache dar. Nvidia ist dagegen schon einen Schritt weiter und bietet mit CUDA (Compute Unified Device Architecture) eine C-ähnliche Schnittstelle an, die die Programmierung einfacher gestalten soll und darüber hinaus den Vorteil bietet, dass sämtliche in CUDA geschriebene Programmen ohne Softwareanpassung (auch auf zukünftigen CUDA-kompatiblen GPUs) laufen werden.
Und dementsprechend spielt für beide Grafikchipentwickler das GPU-Computing-Gebiet eine immer größer werdende Rolle. Vor allem Nvidia scheint das neu entstandene Segment für sehr wichtig zu erachten. So werden in Zukunft diverse „CUDA-Programme“ auf den Markt kommen und darüber hinaus wurde die GT200-GPU nach eigenen Angaben erstmals (unter anderem) dafür entwickelt, dass CUDA-Anwendungen optimal laufen – die G8x-Architektur war dagegen primär für 3D-Programme ausgelegt, obwohl CUDA auf den GPUs schon ausgeführt werden kann. Wir vermuten, dass Nvidia einen recht beachtlichen Teil der 1,4 Milliarden Transistoren in die Optimierung für CUDA gesteckt hat.
Die ersten zwei Mainstream-CUDA-Programme für die breite Öffentlichkeit werden eine speziell angepasste Version von Folding@Home (für die es ebenfalls eine ATi-Version gibt) sowie die Software „BadaBOOM Media Converter“ von Elemental Technologies sein, mit dessen Hilfe man schnell MPEG2-Videos in ein anderes Format (zum Beispiel für den Apple iPod oder das iPhone) umwandeln kann. Nvidia konnte uns freundlicherweise von beiden Programmen eine noch nicht finale Vorabversion zur Verfügung stellen, mit denen wir einen kleinen Einblick in die GPGPU-Zukunft von Grafikkarten geben können.
Zuerst wollen wir aber noch anmerken, dass die von uns ausgeführten Benchmarks voraussichtlich nicht komplett vergleichbar miteinander sind, da man je nach Berechnungsart (Grafikkarte, ATi/Nvidia, Prozessor) andere Programme benutzen muss, die zwar denselben Zweck erfüllen, aber möglicherweise einen anderen und nur bedingt vergleichbaren Weg gehen. Nichtsdestotrotz lässt sich auf diese Art und Weise gut darstellen, welche Vorteile man in dem Einsatzgebiet mit einer GPU haben kann.
Fangen wir mit Folding@Home an, wo die GeForce GTX 280 regelrechte Kreise um die Konkurrenz zieht und die Arbeit mit Abstand am schnellsten verrichten kann. Die auf vier GHz übertaktete Quad-Core-CPU erzielen ein Ergebnis von 43,2 N/D (Nanosekunden pro Tag), während gar eine relativ langsame Radeon HD 3650 mit 54,8 N/D ein schnelleres Rechenergebnis erzielt. Die Radeon HD 3870 kann sich aufgrund der höheren Anzahl der ALUs um 258 Prozent von dem kleinen Bruder absetzen. Einen richtigen Riesensprung schafft dann die GeForce GTX 280, die 460 Prozent schneller agiert und sämtliche andere Hardware alt aussehen lässt.
Obwohl das Ergebnis beim Transcodieren eines MPEG2-Videos in das MP4-Format für den iPod von Apple nicht ganz so vernichtend ausfällt, zeigt der Messwert, dass eine schnelle GPU auch in dieser Disziplin einer schnellen CPU weit überlegen ist. Während der Core 2 Quad mit vier GHz eine Minute und acht Sekunden zur Fertigstellung des Videos benötigt (AVS Video Converter, Multi-Core optimiert), hat die GeForce GTX 280 ihre Arbeit schon nach 21 Sekunden vollendet. Mit dem bekannten und oft genutzten Tool iTunes von Apple, das von mehreren CPU-Kernen nicht profitieren kann, dauert die Konvertierung gar mehr als sechs Minuten. Wenn man bedenkt, dass die umgewandelte Videodatei gerade einmal knapp zwei Minuten lang ist, kann man sich gut vorstellen, was bei einem Zwei-Stunden-Film passieren würde.
Unser erster eigener Ausflug in das GPU-Computing-Segment zeigt eindrucksvoll, zu was eine moderne GPU im Stande ist, wenn es sich um eine speziell optimierte Software handelt. Zwar werden GPU-Berechnungen bei längst nicht jedem Programm möglich und vor allem sinnvoll sein, jedoch kann man bei der richtigen Software aufgrund der parallel ausgelegten Berechnungen einen extrem großen Performanceschub erzielen. Vor allem die GeForce GTX 280 scheint durch ein CUDA-Programm regelrecht beflügelt zu werden und lässt zumindest in Folding@Home selbst eine ATi-Grafikkarte weit hinter sich. Der Hauptprozessor hat in der Disziplin nicht den Hauch einer Chance.