Grafikkarten-Computing - also die Nutzung des Grafikkerns für allgemeine Berechnungen, nicht (nur) für grafische - ist derzeit in aller Munde und das nicht erst seit AMD seine neue Fusion-Familie angekündigt hat, die neben CPU-Kernen auch GPU-Kerne direkt im Prozessor enthalten wird. Der Vorteil einer GPU gegenüber einer CPU liegt in ihrem enormen Durchsatz aufgrund der zahlreichen Shader-Prozessoren. Diese theoretische Peak-Leistung für normale Berechnungen nutzbar zu machen ist momentan das Bestreben sowohl von NVIDIA, als auch von AMD.
NVIDIA ist mit dem Thema GPGPU schon recht weit. Um die sich teilweise stark voneinander unterscheidenden GPUs nicht direkt programmieren zu müssen und sich damit in eine ungewollte Architektur-Abhängigkeit zu begeben, kann Grafikkarten-Computing nur über eine API, also eine standardisierte Schnittstelle, eine Zukunft haben. Bei NVIDIA hat man sich für das Eigengewächs CUDA entschieden. CUDA setzt direkt auf den NVIDIA Grafikkarten-Treiber auf und sorgt dafür, dass die Instruktionen in möglichst kleine Häppchen zerteilt und auf die zahlreichen Shader-Prozessoren der GPUs verteilt werden.
Was CUDA für NVIDIA-GPUs ist, soll OpenCL (Open Computing Language) für alle möglichen GPUs werden, also eine frei verfügbare API für GPGPU-Computing, die nicht an die Produkte eines bestimmten Herstellers gebunden ist; ähnlich wie es OpenGL im Grafikbereich darstellt. Vor einigen Tagen nun ist die Spezifikation für OpenCL in der finalen Version 1.0 veröffentlicht worden. Das Dokument enthält Definitionen zu Datentypen und Objekten. Ferner werden Header-Dateien angeboten, die direkt in bestehende Quellcodes eingebunden werden können.
Die nächsten Monate werden zeigen wie die Hersteller auf OpenCL reagieren, denn der Hauptkonkurrent von OpenCL ist nicht CUDA, sondern das kommende DirectX 11 von Microsoft, das ebenfalls GPGPU Elemente enthalten soll. Ob der Vorteil von OpenCL, nicht auf die Windows-Plattform beschränkt zu sein, eine Relevanz bei seiner Verbreitung haben wird, muss sich zeigen. AMD hat jedoch bereits angekündigt OpenCL nutzen zu wollen.
Diesen Artikel bookmarken oder senden an ...