OpenCL in Aktion: Programme zur Videonachbearbeitung beschleunigt

Auch wenn immer wieder gern Gerüchte vom nahenden Tod der CPU die Runde machen, ist es noch lange nicht soweit. Verglichen mit FPGAs (vom Anwender frei programmierbaren Logikchips) sind moderne CPUs meist deutlich schneller, universeller einsetzbar und funktional besser integriert. Oft siegt die einfachere Lösung. Zweifelsohne haben auch Spezialprozessoren ihren Platz, zum Beispiel in speziellen Marktnischen, wo es um maximale Performance geht. (Anm.: Der Übersetzer dieses Artikels entwickelt gerade eine FPGA-Platine zum Bitcoin-Mining, und sie wird mindestens eine Zehnerpotenz schneller sein als die allerschnellste CPU.) Wir erwarten jedoch, dass heterogenes Computing, also die Koexistenz von einer traditionellen und einer massiv parallelen Rechenplattform in einem einzigen Gehäuse (oder sogar einem einzigen Chip) für mehr und mehr Standardanwendungen populär wird. Und mit den Fortschritten in der Halbleitertechnik einhergehend werden auch diese massiv parallelen Plattformen schneller und komplexer werden.

Die logische Konsequenz aus dieser Entwicklung wird letztendlich ein System-on-a-Chip (SoC) sein, wo alle (oder zumindest die meisten) funktionalen Einheiten auf einem einzigen Chip sitzen. Beispielsweise sind die AMD Geode-Chips, die unter anderem im ‘One Laptop per Child’-Projekt zum Einsatz kommen, aus SoC-Designs der 90er-Jahre hervorgegangen. Obwohl die meisten SoC-Chips noch nicht ganz an dem Punkt angekommen sind, wo sie als Herz eines handelsüblichen Desktop-PCs fungieren können, gibt es mittlerweile von Intel und AMD SoC-Chips, die ein oder mehrere CPU-Cores, eine Grafikeinheit und einen RAM-Controller beinhalten. Diese APUs (accelerated processing units), wie sie AMD nennt, kommen mittlerweile schon an das Performanceniveau eines typischen PCs heran oder übertreffen es sogar. Eine APU ergänzt ein traditionelles CPU-Design mit einer großen Zahl einfacher ALUs, die im Normalfall für 3D-Grafik benutzt werden. Aber diese vielen programmierbaren Einheiten müssen nicht zwangsläufig nur für Gaming verwendet werden. Viele andere Algorithmen sind von Natur aus parallel, und wenn man eine APU mit hunderten Cores auf dieselben loslässt, und nicht nur die CPU mit zwei oder vier Cores, entwickeln sich zwangsläufig interessante Diskussionen über das Potential von Software, die von vornherein auf diese hochintegrierten SoCs ausgelegt ist.

Vor ein paar Jahren noch war die eingebaute Grafikeinheit, wenn überhaupt vorhanden, in der North Bridge des Chipsatzes eingebaut. Da CPU und GPU in so einem Design aber physisch getrennt waren und sowohl in Bezug auf Bandbreite als auch Latenzzeiten Flaschenhälse vorhanden waren, wurde es immer schwieriger, die Performance von einer Chipsatzgeneration zur nächsten weiter zu steigern. Unter anderem deshalb ist die Grafikeinheit unlängst in die CPU gewandert, und diese neuen integrierten Chips bieten nicht nur eine höhere Gaming-Performance, sondern sind durchaus geeignet, allgemeine Rechenaufgaben von der CPU zu übernehmen und diese dadurch zu entlasten.

Für AMD war die Markteinführung dieser integrierten Chips der Abschluss einer mehrere Jahre dauernden Entwicklung mit dem Codenamen ‘Fusion’. Vermutlich war Fusion sogar die treibende Kraft hinter dem Kauf von ATI, der 2006 über die Bühne ging. AMD hat recht früh das Marktpotential der Kombination der hauseigenen CPU-Technologie und der Grafiktechnologie von ATI erkannt – nämlich, dass der Marktanteil solcher integrierter Chips nur steigen kann. Die in Sunnyvale im Silicon Valley angesiedelte Firma beschloss, hierbei die Vorreiterrolle zu übernehmen. Intel hat ähnliches mit der hauseigenen Grafiktechnologie gemacht, aber nicht so radikal. Der Hauptfokus von Intel war immer die CPU-Technologie und weniger die Grafiktechnologie.

Anfang 2011 stellte AMD die ersten APUs der C- und E-Serie vor, allesamt auf einem 40 nm-Prozess basierend. Die Kombination von CPU und GPU auf einen Chip ermöglichte auch stromsparende APU-Modelle mit 9 bzw. 18 W, die in ultraportablen Notebooks Verwendung fanden. Derzeit ist die auf der Llano-Architektur basierende A-Serie der APUs verfügbar, die mit Hilfe von 32 nm-Lithographie Desktop-Performance wohlfeil macht.

Obwohl in der untenstehenden Tabelle viele technische Daten aufgeführt sind, ist wahrscheinlich die jeweils eingebaute Grafikeinheit das Interessanteste. Die A8-APU verfügt über eine Grafikeinheit, die AMD als Radeon HD 6550D bezeichnet. Sie besteht aus 400 Stream-Prozessoren/Radeon-Cores/Shadern (die Bezeichnung variiert schon mal, je nachdem, mit wem man gerader spricht). Die A6-Version liegt mit der Radeon HD 6530 Grafikeinheit und 320 Stream-Prozessoren eine Stufe darunter. Und die A4 hat die Radeon HD 6410D mit ‘nur’ 160 Stream-Prozessoren eingebaut.

Wir haben CPUs und APUs unterhalb der 175€-Preisgrenze schon einer Reihe von Gaming-Benchmarks unterzogen und wissen daher genau, wie sich die APUs in aktuellen Spielen (mehr oder weniger gut) schlagen. In diesem Artikel wollen wir uns jetzt ansehen, wie Power-User ihre gesamte Rechenleistung anderweitig nutzen können, und zwar mit Anwendungen, die sowohl normale CPUs als auch die vielen Recheneinheiten, die in einer Grafikkarte oder APU stecken, auslasten können.

Dieser erste Teil einer neunteiligen Artikelserie beschäftigt sich mit Videonachbearbeitung. Noch vor wenigen Jahren wäre Videobearbeitung zur CPU-Tortur ausgeartet, Mehrkern-CPUs mit eingeschlossen. Da es sich hier aber um massiv parallele Algorithmen handelt, haben einige Firmen begonnen, diese Algorithmen mit Hilfe der vielen Rechenkerne einer Grafikkarte zu beschleunigen und somit sowohl die Programmperformance zu steigern als auch die Produktivität des Anwenders zu erhöhen.

Wir haben AMD für diese Artikelserie um Unterstützung gebeten, also ist es nur Recht und Billig, dass wir uns hier vorwiegend mit der Grafikhardware dieser Firma beschäftigen. Was uns interessiert, ist zum Beispiel: Wie gut (oder nicht so gut) bewältigt eine bloße CPU Software, die eigentlich für OpenCL-Beschleunigung ausgelegt ist? Schneidet eine Llano-basierte APU hier bereits besser ab? Letztendlich bringen wir auch PCIe-Grafikkarten ins Spiel und kombinieren sie mit den preisgünstigen APUs und teuren high-end CPUs, um zu sehen, inwieweit die Anwendungsperformance skaliert.

Ebenfalls interessant...