Einleitung
Am Beispiel der Open Computing Language (OpenCL) wird General Purpose Computation on Graphics Processing Unit (GPGPU) untersucht. Mit dieser Technologie kann die Grafikkarte neben ihrer Hauptaufgabe, der Berechnung zur Bildausgabe, für allgemeine Berechnungen, welche zuvor nur von Hauptprozessoren (CPUs) ausgeführt werden konnten, genutzt werden.
Im Vergleich zur Programmierung von CPUs gibt es bei Grafikkarten einige Besonderheiten und Einschränkung, welche in dieser Arbeit beschrieben werden. Neben den Aspekten der Parallelisierung eines Algorithmus unterscheiden sich vorallem das Speicher- und Programmiermodell bei Grakprozessoren (GPUs) von dem der "klassischen" Modelle.
Außerdem wird die Einrichtung der Entwicklungumgebung von AMD Accelerated Parallel Processing (APP) und der allgemeine Ablauf einer OpenCL-Anwendung beschrieben. Eine Matrixmultiplikation dient als Beispiel um das Potenzial von GPU-basierten Algorithmen zu verdeutlichen. Hierbei werden die Laufzeiten der CPU- und GPU-basierten Implementierungen gegenübergestellt und analysiert.