Bequemer als Backup Bequemer als Backup - Wuala
Bequemer als Backup Bequemer als Backup - Wuala
Bequemer als Backup Bequemer als Backup - Wuala
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Prüfstand | Grafikkarten<br />
Schnelle Grafikkarten entwickeln<br />
viel Wärme, die die Hersteller<br />
durch große Kühlkörper und<br />
schnell drehende Lüfter in den<br />
Griff bekommen wollen. Dies resultiert<br />
nicht selten in einer störenden<br />
Geräuschentwicklung.<br />
Unsere Testkarten sind jedoch,<br />
bis auf die übertaktete Version<br />
der Asus Radeon HD 4870, im<br />
Desktop-Betrieb angenehm leise<br />
und liegen bei maximal sehr<br />
guten 0,5 Sone. Allein die Asus-<br />
Karte kommt auf 1,3 Sone, was<br />
sich zwar noch auf befriedigendem<br />
Niveau befindet, dennoch<br />
bereits ungefähr so laut ist wie<br />
die Zotac GeForce 9800 GTX+ im<br />
3D-Betrieb. In Letzterem bringt<br />
es die übertaktete Asus-Karte auf<br />
nervige 3,3 Sone und ist die mit<br />
Abstand lauteste Karte im Testfeld.<br />
Dafür wird die GPU der<br />
Asus-Karte im Test nicht wärmer<br />
<strong>als</strong> 60 Grad Celsius. Auch die<br />
9800-GTX+-Modelle siedeln sich<br />
in diesem Temperaturbereich<br />
an. Im Gegensatz dazu kommt<br />
Shader-ALUs bei Nvidia und AMD<br />
Beim Vergleich der technischen<br />
Daten fällt auf, dass AMD deutlich<br />
mehr Recheneinheiten verwendet<br />
<strong>als</strong> Nvidia. In den GPUs<br />
der Radeon HD 4800er-Familie<br />
werkeln 800 Shader-ALUs (Arithmetik-/Logik-Einheiten)<br />
am Bildaufbau,<br />
während der GeForce<br />
GTX 260/280 mit 192 beziehungsweise<br />
240 ALUs auskommen<br />
muss. Beim GeForce 9800<br />
GTX+ sind es sogar nur 128<br />
ALUs. In ihren Fähigkeiten sind<br />
sich die AMD- und Nvidia-ALUs<br />
sehr ähnlich. Beide können pro<br />
Takt eine skalare Addition,<br />
Subtraktion, Multiplikation oder<br />
eine kombinierte Multiplikation/<br />
Addition (MAD) ausführen. Nvidia<br />
gibt zwar noch eine weitere<br />
Multiplikation pro ALU an,<br />
die aber nur bei Nicht-Grafik-<br />
(GPGPU-)Anwendungen möglich<br />
ist. Nvidias Grafikchips enthalten<br />
zusätzlich spezielle ALUs<br />
für komplexe Funktionen wie<br />
Reziprokwert, Wurzel, Winkelfunktionen<br />
und Logarithmus, die<br />
aber mehrere Takte benötigen.<br />
Bei AMD kann jede fünfte ALU<br />
zusätzlich spezielle Funktionen<br />
ausführen. AMD müsste seinem<br />
Konkurrenten mit seinen 800<br />
ALUs jedenfalls haushoch überlegen<br />
sein. Nvidia treibt seine<br />
ALUs zwar mit einem um 50 bis<br />
120 Prozent höheren Takt an,<br />
was aber die mehr <strong>als</strong> dreimal<br />
höhere ALU-Zahl der Radeon-<br />
Chips nicht ausgleichen kann.<br />
Nvidia kann seine geringere Rechenleistung<br />
aber mit einer sehr<br />
guten Auslastung der Shader-<br />
ALUs ausgleichen. Dabei hilft,<br />
dass die Berechnung eines Bildes<br />
(Frames) aus sehr vielen Einzelaufgaben<br />
(Threads) besteht,<br />
AMD verwendet superskalare Recheneinheiten,<br />
die fünf verschiedene Rechenoperationen<br />
parallel ausführen können.<br />
von denen die GeForce-Chips<br />
bis zu 30ˇ000 gleichzeitig verwalten<br />
können. Ein solcher Thread<br />
kann beispielsweise ein zu berechnender<br />
Bildpunkt sein.<br />
Für die Ausführung eines Shader-Programms<br />
sind bei Nvidia<br />
bis zu 30 SIMD-(Single Instruction<br />
Multiple Data)Einheiten aus<br />
jeweils acht ALUs zuständig,<br />
die mehrere Threads parallel bearbeiten<br />
können. Jede SIMD-<br />
Einheit bearbeitet zu einem<br />
Zeitpunkt eine Gruppe von 32<br />
Threads parallel (bei Vertex-Shadern<br />
sind es nur 16 Threads).<br />
Diese Gruppe von Threads bezeichnet<br />
Nvidia <strong>als</strong> Warp. Die<br />
ALUs müssen <strong>als</strong>o jeden Befehl<br />
viermal wiederholen, um den<br />
gesamten Warp abzuarbeiten.<br />
Falls die Berechnung eines Warp<br />
ins Stocken gerät, weil beispielsweise<br />
erst ein Texturwert aus<br />
dem externen Speicher geholt<br />
werden muss, stehen immer genügend<br />
andere Warps bereit,<br />
deren Daten schon im Cache stehen<br />
und auf die der Grafikchip<br />
sofort umschalten kann. Auf<br />
diese Weise versteckt Nvidia die<br />
unweigerlichen Wartezeiten (Latenzen)<br />
und kann die ALUs nach<br />
eigenen Angaben zu über<br />
95 Prozent auslasten.<br />
Auch die Radeon-4800-Chips arbeiten<br />
nach diesem Prinzip und<br />
halten zur Überbrückung von<br />
Wartezeiten immer genügend<br />
viele Threads vorrätig. Ihre zehn<br />
SIMD-Einheiten umfassen 16 Recheneinheiten,<br />
die eine Gruppe<br />
aus 64 Threads parallel bearbeiten.<br />
Auch hier müssen die Recheneinheiten<br />
jeden Befehl <strong>als</strong>o<br />
viermal wiederholen. AMDs Recheneinheiten<br />
sind allerdings<br />
wesentlich leistungsfähiger <strong>als</strong><br />
Nvidias, da sie gleich fünf ALUs<br />
enthalten, von denen jede einen<br />
anderen Befehl ausführen kann<br />
(superskalar). Eine Radeon-Recheneinheit<br />
kann beispielsweise<br />
gleichzeitig eine Addition, eine<br />
Multiplikation, eine Vergleichsoperation,<br />
eine Bit-Schiebeoperation<br />
und eine kombinierte<br />
Multiplikations-Additions-Operation<br />
ausführen.<br />
Nvidia bestückt jede SIMD-<br />
Einheit mit acht skalaren<br />
Recheneinheiten und fasst<br />
drei SIMD-Einheiten zu einem<br />
„Texture Processing Cluster“<br />
zusammen.<br />
Wenn aber die Befehle eines Programms<br />
auf die Ergebnisse der<br />
jeweils vorausgehenden Rechenoperation<br />
aufbauen, lässt es sich<br />
nicht parallelisieren. AMDs superskalare<br />
Recheneinheiten sind<br />
dann nicht schneller <strong>als</strong> Nvidias<br />
skalare Recheneinheiten. AMDs<br />
Einheiten sind nur dann effektiv,<br />
wenn das Programm aus möglichst<br />
vielen, voneinander unabhängigen<br />
Berechnungen besteht.<br />
Der Shader-Compiler im<br />
Radeon-Treiber kann aus einem<br />
solchen Shader-Programm dann<br />
immer fünf voneinander unabhängige<br />
Operationen extrahieren,<br />
die sich parallel ausführen<br />
lassen. Da dies in der Praxis nicht<br />
immer zutrifft, kann AMD seine<br />
ALUs nicht ganz so gut auslasten<br />
wie Nvidia.<br />
Generell sind die Nvidia-Chips<br />
dann am effizientesten, wenn<br />
ein Spiel möglichst viele Shader-<br />
Programme mittlerer Länge verwendet.<br />
Die GeForce-Chips können<br />
dann ihre Fähigkeit, eine<br />
sehr hohe Zahl von Einzel-<br />
Threads verwalten zu können,<br />
optimal ausspielen. Ein Spiel<br />
verwendet übrigens immer<br />
einen Mix aus Shader-Programmen<br />
mit sehr unterschiedlicher<br />
Länge, man kann bei den Pixel-<br />
Shadern aber von einem Durchschnittswert<br />
von rund 150 bis<br />
200 Instruktionen ausgehen.<br />
Vertex-Shader sind in der Regel<br />
nur halb so lang.<br />
AMD-GPUs fühlen sich am<br />
wohlsten, wenn ein Spiel möglichst<br />
lange Shader-Programme<br />
aus 200 und mehr Instruktionen<br />
verwendet. Dann ist die Wahrscheinlichkeit<br />
hoch, in einem<br />
Shader-Programm fünf voneinander<br />
unabhängige Operationen<br />
für die superskalaren Recheneinheiten<br />
zu finden. AMD<br />
setzt <strong>als</strong>o darauf, dass zukünftige<br />
Spiele längere Shader-Programme<br />
verwenden, was nicht<br />
nur die Spielegrafik interessanter<br />
macht, sondern auch die Gesamtzahl<br />
der benötigten Shader<br />
verringern kann. Der Shooter<br />
Crysis benötigt für seine gelungene<br />
Dschungel-Grafik beispielsweise<br />
noch rund 85ˇ000<br />
Shader-Programme, die sich natürlich<br />
nur unter großem Aufwand<br />
pflegen lassen. Längere<br />
und komplexere Shader-Programme<br />
könnte man dagegen<br />
universell für eine ganze Material-Gruppe<br />
und für verschiedene<br />
Beleuchtungssituationen<br />
einsetzen und den Entwicklungsprozess<br />
damit vereinfachen.<br />
Vielleicht können die Radeon-Chips<br />
bei zukünftigen<br />
Spielen ihr Potenzial noch etwas<br />
besser ausspielen. (M. Bertuch)<br />
130<br />
©<br />
c’t 2008, Heft 20<br />
Copyright by Heise Zeitschriften Verlag GmbH & Co. KG. Veröffentlichung und Vervielfältigung nur mit Genehmigung des Heise Zeitschriften Verlags.