Was ist CUDA eigentlich?
CUDA stand ursprünglich für Compute Unified Device Architecture, doch diese Bezeichnung wird von Nvidia schon länger nicht mehr verwendet. CUDA ist laut Nvidia eine Programmierumgebung, mit der in der bekannten Programmiersprache C/C++ (mit eingeschränktem Befehls- und Funktionsumfang) Software entwickelt werden kann, die den Grafikprozessor für Berechnungen abseits von Spielen einsetzt. Dabei unterstützt CUDA auch andere Standards wie das schon erwähnten OpenCL oder DirectX 11 (mit der Funktion Compute Shader).
Grafikchips sind grundsätzlich dafür ausgelegt, mehrere Berechnungen parallel auszuführen. Das ist für die Darstellung von Grafik besonders vorteilhaft, da hier Pixel und Polygone gleichzeitig berechnet werden können. Je mehr Kalkulationen parallel ablaufen, umso schneller wird die Grafik dargestellt. Diese Berechnungen übernehmen die Shader oder Stream-Prozessoren. Seit der GeForce 8800-Serie können diese kleinen Rechenkerne über CUDA angesprochen werden und mehr als nur Grafiken kalkulieren. Aufgaben, die sich stark parallelisieren lassen, laufen auf einem für derartige Szenarien entwickelten Grafikchip wesentlich schneller ab als auf einer CPU. Prozessoren sind dafür wesentlich flexibler, was die möglichen Aufgaben angeht.
Grob könnte man sagen, dass Grafikchips Spezialisten sind, während Prozessoren als Allroundtalent für jegliche Aufgaben eingesetzt werden können, dabei aber bei bestimmten Berechnungen immer langsamer sind als die »Experten«. Eine moderne CPU wie der Core i7 kann dank vier Kernen und Hyperthreading immerhin acht Berechnungen gleichzeitig ausführen, doch im Vergleich zu einem GT200-Grafikchip mit 240 »Processing Cores« gerät die CPU trotz deutlich höheren Taktraten ins Hintertreffen, wenn 50, 200 oder mehr Berechnungen parallel laufen sollen. Diese Fähigkeiten nutzen sehr viele, vor allem wissenschaftliche Anwendungen.
Nvidia vertritt inzwischen sogar die Ansicht, dass ein Grafikchip immer mehr Aufgaben übernehmen könnte, um die CPU zu entlasten, selbst wenn es um das Ausführen des Betriebssystems eines Rechners geht. Wohin die Entwicklung in diesem Bereich geht, ist zur Zeit noch nicht abzusehen, doch bereits jetzt gibt es Programme für den Hausgebrauch wie zum Beispiel Video-Konverter, die große Beschleunigungen durch den Einsatz von CUDA versprechen. Doch welchen Vorteil bringt CUDA hier wirklich?
Nur angemeldete Benutzer können kommentieren und bewerten.
Dein Kommentar wurde nicht gespeichert. Dies kann folgende Ursachen haben:
1. Der Kommentar ist länger als 4000 Zeichen.
2. Du hast versucht, einen Kommentar innerhalb der 10-Sekunden-Schreibsperre zu senden.
3. Dein Kommentar wurde als Spam identifiziert. Bitte beachte unsere Richtlinien zum Erstellen von Kommentaren.
4. Du verfügst nicht über die nötigen Schreibrechte bzw. wurdest gebannt.
Bei Fragen oder Problemen nutze bitte das Kontakt-Formular.
Nur angemeldete Benutzer können kommentieren und bewerten.
Nur angemeldete Plus-Mitglieder können Plus-Inhalte kommentieren und bewerten.