OpenCL

Ich habe mich im Master-Kurs "Parallele Programmierung" sowie in meiner Informatik-Masterarbeit und in der Vorbereitung darauf viele Monate ausgiebig mit dem OpenCL-Standard beschäftigt und damit OpenCL-Funktionen (-Kernel) programmiert und beschleunigt.
Es ging in der Arbeit darum, OpenCL global memory automatisch durch OpenCL local memory zu beschleunigen und dabei die Programmlaufzeit zu evaluieren.

Mittels OpenCL können herkömmliche Programme (nicht nur Grafik/3D) auf einer GPU um ein Vielfaches gegenüber einer CPU beschleunigt werden, da GPUs üblicherweise ein Mehrfaches mehr Prozessoren als CPUs haben.
Zum Beispiel Matrix-Multiplikation mit 256x256 Matrizen:
Vergleich OpenCL mit Intel-Grafikkarte, seriell mit CPU (Intel Core 2 Quad).
CPU: 8724.946 ms
GPU: 16.508 ms (reine Ausführungszeit: ohne OpenCL-Setup, Speicher kopieren etc.)

In Bezug auf OpenCL kenne ich mich besonders aus mit: