Wissen OpenCL- CUDA- Stream -Welche GPU fürs Editing?

OpenCL- CUDA- Stream -Welche GPU fürs Editing?

Eine Frage, die sich momentan viele Anwender stellen, beschäftigte gerade auch uns in der Redaktion. Welche Grafikkarte macht eigentlich gerade für Editing-Aufgaben besonderen Sinn?

// 09:58 Fr, 6. Nov 2009von

Eine Frage, die sich momentan viele Anwender stellen, beschäftigte gerade auch uns in der Redaktion. Welche Grafikkarte macht eigentlich gerade für Editing-Aufgaben besonderen Sinn?


Premiere und viele andere Applikationen benutzen aktuell ausschließlich OpenGL2.0-Spezifikationen der Grafikkarte. Hierbei werden diese Funktionen „nur“ dazu verwendet, das Bild beschleunigt zu skalieren, einfache Farbkorrekturen vorzunehmen und eventuell an einen zweiten Monitor zu senden. Dazu kommen die OpenGL-Befehle oft noch für spezielle 3D-Effekte zur 3D-Deformation von PIP-Effekten zum Einsatz. Doch all dies sollten bereits zwei Jahre alte Mittelklassekarten von AMD/ATI und Nvidia locker in Echtzeit hinbekommen. Wenn man für diese Effekte optimale Qualität herausholen will, könnte man höchstens beim Kauf darauf achten, wie hoch die Kantenglättung bei voller Performance (Antialiasing) ausfällt. Doch selbst mehrere HD-Videotexturen mit 4fachem Aliasing kann beinahe jede aktuelle Mittelklasse-Grafikkarte heute mit links bewältigen.





Speicheranbindung beachten

Wichtiger ist dagegen nach unseren jüngsten Erfahrungen die Speicherbandbreite der GPU. So hatte der Sprung von 128 auf 256 Bit Speicheranbindung bei dem Tausch einer nVidia-Grafikarte enorme Auswirkungen auf die AVCHD-Performance von Premiere Pro CS4.



Doch "nur" ruckelfreie AVCHD-Wiedergabe sollte eigentlich bei sorgfältiger Programmierung auch mit einer modernen CPU möglich sein, wie gerade einmal wieder Canopus beweisen will. Ein revolutionärer Performance-Schub lauert allerdings woanders: Mittlerweile lassen sich die Chips der Grafikkarten nämlich auch für universelle Berechnungen programmieren. Da diese Chips enorm parallel rechnen, können sie gerade bei Videoeffekten theoretisch ungefähr um den Faktor 10 schneller sein, als eine normale CPU. Es gibt jedoch momentan gleich mehrere Standards, die sich CUDA, Stream, OpenCL oder DirectCompute nennen:




Wer macht das rennen?

CUDA läuft ausschließlich auf Nvidia-GPUs, Stream/Brook+ nur auf AMD/ATI-Modellen. DirectCompute läuft nur unter Windows 7 und Vista aber mit AMD/ATI, Nvidia und anderen. OpenCL läuft gerade ebenfalls auf AMD/ATI- und Nvidia-Grafikkarten, zusätzlich kann es aber auch noch Aufgaben an die CPU abtreten. Der größte Vorteil ist jedoch: OpenCL läuft sowohl am PC als auch auf dem Mac.


Alleine deswegen scheint sich OpenCL auch als Standard schnell durchzusetzen (laut Gerüchten will AMD deswegen sogar Stream/Brook+ mittelfristig kippen).



Wir haben uns die OpenCL-Programmier-Umgebungen einmal etwas näher angesehen, und müssen leider feststellen, dass zwar tatsächlich wahrscheinlich in naher Zukunft ein OpenCL-Kernel auf jeder GPU lauffähig ist, jedoch muss man beim Programmieren dennoch in verschiedene Richtungen optimieren, um aus einer GPU ansprechende Performance herauszuholen. Ohne mindestens zwei separate Programmzweige für AMD und Nvidia bekommt man hier keine optimale Performance. Eben dies ist aber ein Grauen für jedes Programmierteam.




Speichertransfers bremsen Rechenleistung aus

Und nicht nur das. In der Praxis gilt es noch andere Hürden zu umschiffen. Wie schon seit jeher dauert der Transfer zu und von der Grafikkarte noch immer so lange, dass sich echte Geschwindigkeitsvorteile nur selten ausnutzen lassen. Der optimale weg ist daher, die GPU sowohl die Videoströme komplett decodieren zu lassen und danach auch gleich noch die Effektberechnung und die Ausgabe zu übernehmen. Dann müssten die Frames nicht zwischen den Systemspeichern herumgeschoben werden. Als einzige uns bekannte Schnittsoftware arbeitet Loiloscope mit dieser Technik. Tatsächlich kann man hier auf einer modernen Grafikkarte AVCHD-Clips direkt auf der Timeline mit Echtzeiteffekten abspielen. Allerdings ist die Auswahl der Effekte noch sehr beschränkt und auch das Interface ist nicht jedermanns Sache.






GPU-Effekte noch in ferner Zukunft?

Bei den verbreiteteren Applikationen ist dagegen noch keinerlei durchgehende CUDA, Stream oder OpenCL-Unterstützung abzusehen. Das liegt vor allem daran, dass man hierfür die grundsätzliche Applikations-Architektur umprogrammieren müsste. Eben damit ALLES auf der GPU berechnet wird. Sonst frisst der Transfer der Frames zwischen Hauptspeicher und GPU den Geschwindigkeitsvorteil wieder auf. Ein einzelnes Plugin mit GPU-Unterstützung bringt also in der Regel gar nichts. Davon singt auch manch Programmierer ein Leides-Lied.





Ausnahme Encoding

Das dürfte wohl auch der Grund sein, weshalb es gerade fast ausschließlich Plugins gibt, die das das Encoding beschleunigen. Denn beim abschließenden Export kann alles auf die Grafikkarte geladen werden und dort kann dann der sehr rechenintensive AVC-Encoder seine Stärken ausspielen. Was viele Anwender jedoch viel dringender ersehen ist schnelles Decoding für die Timeline. Schließlich ist der Schritt über Intermediate-Codecs beispielsweise bei AVCHD keine sehr elegante Lösung. Hier gibt es zwar ebenfalls erste Ansätze, jedoch scheinen diese noch sehr buggy zu sein.



Übrigens: Wer für obige Decoding-Technologie eine neue Grafikkarte anschaffen will, braucht nicht viel zu investieren. Sie hat nämlich weniger mit CUDA zu tun, als viel mehr mit der VP2-Engine, die Nvidia in jedem seiner aktuellen Grafikkchips verbaut. Wie dieser Development-Blog offen legt hat jedoch praktisch jede VP2-Karte eine ähnliche Decoding-Performance. Eine 9600GT sollte also beim AVCHD-Decoding nicht langsamer sein, als eine GTX 280. Der Grund (falls es wen interessiert): Die VP2-Engine läuft auf allen Karten unabhängig vom Chiptakt mit einer eigenen Frequenz (zwischen 400 und 450MHz).





Nvidia und Adobe – ein erster Ansatz

Abzuwarten bleibt die auf der IBC 2009 gezeigte CUDA-Effektunterstützung für Premiere von Nvidia. Wie auch von Michael Lehmann-Horn berichtet, legt Premiere CS4 dadurch einen ganzen Zahn zu. Aber eben nur, wenn die Effektkette ausschließlich auf der GPU berechnet wird. Ein nicht unterstützter Effekt und die Beschleunigung ist dahin. Sinn macht das ganze daher nur, wenn entsprechend viele und nützliche Effekte in Premiere unterstützt werden. Auf jeden Fall wird das ganze Effekt-Paket wohl erst einmal künstlich an die Quadro FX-Serie von Nvidia gebunden sein, die ja nicht gerade günstig ist.





Fazit

Zusammenfassend lässt sich sagen, dass man sich momentan beim Grafikkarten-Kauf noch nicht allzu sehr den Kopf zerbrechen sollte. Auf jeden Fall gilt eines: Je höher die Speicherbandbreite, desto besser. Ansonsten gibt es noch keine marktreifen Technologien (von ein paar h264-Encodern einmal abgesehen), die beim Arbeiten mit gängiger Schnittsoftware einen echten Mehrwert versprechen. Spezial-Lösungen, wie von Nvidia auf der NAB gezeigt, könnten aber demnächst sehr interessant werden. Die Frage ist nur, ob viele Softwarefirmen nicht auch schon intern an einer universellen Beschleunigung mit OpenCL entwickeln, die eine teure Speziallösung schnell obsolet werden lässt. So ist zu erwarten, dass Apple als treibende Kraft hinter OpenCL Final Cut Pro mit OpenCL deutlich aufbohren wird. Und ob Adobe (wie auch die übrige PC-Schnittsoftware-Konkurrenz) letztlich „nur“ mit einer Quadro FX-Spezial-Lösung dagegen halten will, ist mehr als fraglich.




Addendum: Wer jetzt noch nicht genug hat, kann sich auch noch diesen Artikel zu Gemüte führen, der zu bedenken gibt, dass auch kommende CPUs eine deutliche Geschwindigkeitssteigerung durch Parallelisierung mit sich bringen werden. Mit dem klaren Vorteil, dass man hier keine separaten Codeteile zur Optimierung pflegen muss.


Auf der anderen Seite zeigen hier die nackten Zahlen, dass bei extrem optimiertem Code eine GPU ca. um den Faktor 10 mehr Multiplikationen in der selben Zeit als ein potentes CPU-Gespann ausführen kann. In der Praxis dürfte eine Geschwindigkeitsvorteil GPU vs. CPU bei schön paralellisierbaren Aufgaben um den Faktor 2-5 eher die Regel werden. Aber das ist schließlich auch nicht zu verachten....


Ähnliche Artikel //
Umfrage
  • Was hältst du von den neuen Bild/Video-KIs?





    Ergebnis ansehen
slashCAM nutzt Cookies zur Optimierung des Angebots, auch Cookies Dritter. Die Speicherung von Cookies kann in den Browsereinstellungen unterbunden werden. Mehr Informationen erhalten Sie in unserer Datenschutzerklärung. Mehr Infos Verstanden!
RSS Suche YouTube Facebook Twitter slashCAM-Slash