Das leisten aktuelle Grafikkarten

Nvidia CUDA, ATI Stream & Co. erklärt

Montag, 19.09.2011 | 08:30 von Dirk Bongardt
Bildergalerie öffnen Nvidia CUDA, ATI Stream & Co. erklärt
Ruckelfreie Wiedergabe von HD-Videos und von (3D-)Spielen: Das sind die Mindestvoraussetzungen, die alle modernen Grafikkarten mitbringen sollten. Doch die Grafikprozessoren (GPUs) können mehr: Dank Technologien wie AMD Stream und Nvidia CUDA übernehmen sie Aufgaben, die früher die CPU bewältigen musste – und tun das auf Grund ihrer Architektur häufig deutlich schneller. Was Grafikkarten von heute können, und was Sie davon haben, erfahren Sie hier.
Ein Computer im Computer: So lässt sich eine Grafikkarte am ehesten beschreiben. Sie verfügt über eine eigene zentrale Recheneinheit, die GPU, eigenen Speicher und wird in der Regel sogar separat gekühlt. Seit jeher ist dedizierter Grafikspeicher gewöhnlich höher getaktet als der Hauptspeicher des Systems. Und seit ein paar Jahren sind GPUs bei speziellen Rechenprozessen den CPUs überlegen - und zwar bei massiv parallelisierbaren Aufgaben, wie zum Beispiel der Berechnung einer 3D-Darstellung.

Eine moderne GPU enthält zudem hoch spezialisierte Einheiten, so genannte Fixed Function Units, die auf die Bewältigung einer Aufgabe (zum Beispiel der Texturfilterung) beschränkt sind und diese in enormer Geschwindigkeit abwickeln. Bei der Abarbeitung herkömmlicher sequentieller (nacheinander abzuarbeitender) Aufgaben können GPUs ihre Stärken nicht zum Einsatz bringen. Laufen nur ein bis zwei Prozesse parallel ab, wäre eine GPU einerseits nicht ausgelastet, andererseits würde der im Vergleich zu CPU kleinere Zwischenspeicher (Cache) zu Verzögerungen führen.

Massiv parallelisierbare Aufgaben fallen aber nicht nur bei der Grafik-Berechnung an. Aufgaben, bei denen sehr viele Berechnungen parallel abgewickelt werden können, sind zum Beispiel das Umwandeln (Konvertieren/Transcodieren) von Video- und Audiodaten, die Ver- und Entschlüsselung großer Datenmengen und Aufgaben im Rahmen von verteiltem Rechnen (Distributed Computing), wie zum Beispiel beim Projekt SETI@Home.
 
Nvidia CUDA & ATI Stream: Schnittstelle zur GPU

TMPGEnc Video Mastering Works 5 beschleunigt das Umwandeln
von Videos mit CUDA
Vergrößern TMPGEnc Video Mastering Works 5 beschleunigt das Umwandeln von Videos mit CUDA

Sowohl AMD (Hersteller der ATI-Grafikkarten) als auch Nividia unterstützen aktiv die Nutzung der GPU für nicht-grafikbezogene Aufgaben. Nvidia hat die Compute Unified Device Architecture, kurz CUDA , entwickelt, die es Programmierern erlaubt, Programmfunktionen zu entwickeln, die durch den Grafikprozessor (GPU) auf der Grafikkarte abgearbeitet werden.
AMD nennt diese Art der GPU-Nutzung Stream Technologie .

Programme, die die GPU für nicht direkt grafikbezogene Berechnungen nutzen, werden auf Basis der Programmierplattform OpenCL entwickelt, zu der die Programmiersprache „OpenCL C“ gehört. OpenCL wurde ursprünglich von Apple entwickelt, ist aber, wie der Namenteil „Open“ andeutet, als offener Standard für eine ganze Reihe von Plattformen erhältlich. Nvidia bietet eine OpenCL-Implementierung für die CUDA-Architektur unter Linux, Windows und Mac OS X an. Die von AMD entwickelte OpenCL-Implementierung für ATI-Stream können Entwickler für Linux und Windows nutzen. Beispiel für Anwendungen, die die Rechenleistung des Grafikprozessors ausnutzen, erhalten Sie auf der folgenden Seite.

Montag, 19.09.2011 | 08:30 von Dirk Bongardt
Kommentieren Kommentare zu diesem Artikel (0)
1115749