Eine typische Methode, die Geschwindigkeit in der Bildverarbeitung zu steigern, besteht beispielsweise in der Verteilung der Rechenaufgaben auf mehrere Multicore-Prozessoren, spezialisierte FPGAs oder GPUs. Jede dieser Techniken hat ihre eigenen Vor- und Nachteile. GPUs wurden ursprünglich für grafische Aufgaben wie Schattierung und Darstellung teilweise versteckter Flächen entwickelt. Weil sie mittlerweile leichter zu programmieren sind, können sie auch andere Aufgaben als grafische Berechnungen übernehmen. »Aufgrund von Geschwindigkeit und Architektur sind sie als General-Purpose-Koprozessoren in einer Vielzahl von Anwendungen nützlich, einschließlich Bildverarbeitung«, verdeutlicht Borst. »Allerdings steht die hohe Geschwindigkeit der GPUs, die auf mehr als 1000 Rechenelementen beruht, wegen konkurrierender Zugriffe – vor allem auf Speicher und Busse – der Bildverarbeitung nicht vollständig zur Verfügung. Hier kommt es ganz entscheidend auf den Algorithmus an.«
Während OpenCL (Open Computing Language) bei Intel und AMD für die parallele Programmierung von GPUs und CPU-Kernel gedacht ist, wird CUDA (Compute Unified Device Architecture) nur von Nvidia für die direkte Programmierung von Programmteilen genutzt. CUDA ist ein Satz von Erweiterungen der C-Programmiersprache, wodurch Programmierer Teile ihres Quell-Codes von einem bestimmten Baustein abarbeiten lassen können. Damit können Rechenoperationen auf der GPU erfolgen, ohne dass sie in ein grafisches API »gemappt« werden müssen. Wenn mittels CUDA programmiert wird, erscheint die GPU wie eine Rechenkomponente, die in der Lage ist, eine Vielzahl von Threads parallel auszuführen, wodurch rechenintensive Teile der Applikation vom Host-Prozessor auf die GPU übertragen werden können.
GPUs sind für die Nutzung in Standard-PCs prädestiniert und liefern in dieser Kombination eine hohe Rechenleistung. Einer der größten Nachteile der GPUs besteht bisher darin, dass sie relativ viel Strom brauchen - die Leistungsaufnahme der Spitzenmodelle kann bis zu 500 W betragen. Hinzu kommt, dass Grafikkarten nur im PEG-Slot-Format (x16) verfügbar sind. »Eltec bietet hier beispielsweise komplette Systeme mit GPUs an, die für Bildverarbeitung optimiert sind«, sagt Borst. »Hier kündigt sich mit den ‚Sandy-Bridge’-CPUs von Intel und der ‚Fusion’-Familie von AMD ein Wandel an, denn jetzt wird die GPU direkt in die CPU integriert. Damit wird GPU-Leistung künftig in jedem neuen Rechner relativ einfach und auch stromsparender als bisher vorhanden sein.«