Supercomputing: CPU oder GPU?
GPU-Computing wird ein immer wichtigeres Thema, insbesondere im Bereich des Supercomputing. Während in der Vergangenheit immer mehr CPUs mit x86-Architektur (z. B. Intel Xeon, AMD Opteron) oder RISC-Architektur (z. B. IBM Power) eingesetzt wurden, verfolgt NVidia einen anderen Ansatz: sie nutzen die extrem hohe Parallelisierbarkeit von GPUs, die auf weit mehr, wenn auch weit primitvere Rechenkerne im Vergleich zu CPUs aufbauen, den so genannten unified Shadern. So konkurrieren Befehlssatzerweiterungen bei den CPUs mit der massiven Rechenleistung von GPUs. Der aktuelle Opteron von AMD kann beispielsweise auf bis zu 12 Kerne zurückgreifen, während die Tesla 2070 von NVidia über 448 Shaderprozessoren verfügt.
Doch was ist besser? Kann eine CPU mit Befehlssatzerweiterungen wie z. B. SSE die enorme Überzahl der Recheneinheiten von GPUs ausgleichen? Und was arbeitet effizienter? Ein Supercomputer mit tausenden von Prozessoren braucht Unmengen an Strom und muss auch dementsprechend gekühlt werden.
Der Frage der Rechenleistung ist IBM, einer der führenden Hersteller auf dem Gebiet des Supercomputing, einmal nachgegangen. In einer Studie haben sie ihren hauseigenen Power7-Prozessor (RISC), einen Intel Nehalem-Prozessor (x86) und eine NVidia GTX285 (Unified-Shader) in einem gleitkommaintensiven Algorithmus gegeneinander antreten lassen.
Das Ergebnis: die GTX285 kann den Intel Nehalem mit geringem Vorsprung schlagen, unterliegt jedoch IBMs hauseigenem Power7 deutlich. Allerdings muss man dieses Ergebnis wohl sehr differenziert betrachten. So ist es zum einen sicherlich nicht verwunderlich, dass das Produkt aus dem Hause des Erstellers der Studie siegt, denn die Objektivität bei der Auswahl der Tests und Kriterien dürfte sich doch hinsichtlich des Ziels der Studie in Grenzen halten.
So wurden bei den Tests Cacheintensive Aufgaben gebencht, die der GTX285 natürlich aufgrund des geringen Cache zum Verhängnis wurden. Selbiges wäre bei einer Tesla 2070, die im Gegensatz zur GTX285 über einen Level 2 Cache verfügt, nicht mehr so ohne Weiteres möglich
Der zweite wichtige Punkt für einen Supercomputer ist die Effizienz des Systems. Bei welcher Variante erhält man mehr Rechenleistung je Watt? Auch hier kann die GPU wieder punkten. Zwar sind CPUs in der Vergangenheit immer sparsamer bei gleichzeitig immer höherer Leistung geworden, während Grafikkarten in fast jeder Generation einen neuen Verbrauchsrekord aufstellen, aber die Leistungssteigerung bei Grafikkarten ist auch deutlich höher ausgefallen, als bei den CPUs. So berichtet EETimes
The graphics processors are also relatively power efficient. The Nebulae system which uses 4,640 Tesla chips, consumes about 2.55 megawatts compared to about 7 MW for Jaguar.
Das GPU-Computing hat also durchaus seine Vorzüge und kann sowohl mit sehr hoher Parallelisierbarkeit als auch mit Energieeffizienz punkten. Sicherlich wird es auch in absehbarer Zukunft Berieche geben, in denen GPU-Systeme ungeeignet sind, durch massive Steigerung von Double-Precission-Leistung, Ergänzung von Level 2 Cache, Verwendung von ECC-Ram, etc. beim Fermi verringert sich die Zahl dieser Bereiche bei der Tesla 2050/2070 allerdings bereits und NVidia kann auf diesem Gebiet Boden gutmachen.
So baut der zweitschnellste Supercomputer der Welt, der chinesische “Nebulae”, auf eine Kombination aus Intel Xeon Quad-Core Prozessoren und NVidia Tesla C2050-GPGPU-Karten:
Auch im Serverbereich werden bereits von IBM Systeme auf Tesla-Basis angeboten:
http://news.bbc.co.uk/2/hi/technology/10187248.stm


[...] [...]