Parallelwelten

GPU-Programmierung mit OpenCL

Wissen | Know-how

Grafikkarten dienen schon seit Langem als günstige Rechenknechte für Entschlüsselungsprogramme, Bitcoin-Miner oder Wettersimulationen. Zum Entwickeln plattformübergreifender Anwendungen, die GPUs als Coprozessoren einspannen, bietet sich die Programmierschnittstelle OpenCL an.

Um Rechner und die darauf laufenden Programme zu beschleunigen, geht der Trend zu immer mehr gleichzeitig arbeitenden Kernen. In klassischen Anwendungen benutzt man sie typischerweise, um verschiedene Aufgaben von eigenen Threads erledigen zu lassen: So kann der Anwender zügig Text eintippen, während die Korrekturfunktion parallel die Wortdatenbank konsultiert.

Will man die Rechenpower der Grafikkarte anzapfen, muss man anders vorgehen: GPUs können ihren Vorteil besonders gut ausspielen, wenn man möglichst viele Kerne mit gleichartiger Arbeit beschäftigt. Ein Musterbeispiel ist hier die Bildverarbeitung: Wo ein klassischer Algorithmus mit zwei ineinander geschachtelten Schleifen jedes Pixel von links oben nach rechts unten einzeln berechnen muss, kann eine moderne GPU mit Hunderten oder gar Tausenden von Cores dieselbe Zahl an Pixeln gleichzeitig verarbeiten. ...

Sie möchten wissen, wie es weitergeht?

Als c't-Plus-Abonnent gratis lesen

Anmelden als c't-Plus-Abonnent

weiterführende Links

Anzeige
Anzeige