23.04.2014 Aufrufe

Bequemer als Backup Bequemer als Backup - Wuala

Bequemer als Backup Bequemer als Backup - Wuala

Bequemer als Backup Bequemer als Backup - Wuala

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!