MMER_GPU
Algorithmen zum Bildverstehen sind per se extrem rechenintensiv. Es stellt eine große Herausforderung dar, sie effizient zu implementieren.
Die MMER_GPU Bibliothek versetzt Entwickler in die Lage - ohne sich zuvor umfangreiche Kenntnisse der Grafikprogrammierung aneignen zu müssen - ihre Algorithmen nicht nur auf der CPU, sondern auch auf der GPU (engl. ’Graphics Processing Unit’) ausführen zu können.
Als Teil der MMER System Architektur lässt sich die MMER_GPU Bibliothek vollständig in die Anwendung MMER_Lab integrieren. Durch ihr thread-sicheres, einfach zu verwendendes Interface, werden damit parallele Berechnungen und Echtzeit-Anwendungen in der Bild-Analyse möglich.
Warum eigentlich auf GPUs rechnen?
GPUs sind im Vergleich zu CPUs extrem schnell und erlauben extrem rechenintensive Operationen in kürzester Zeit.
Die Rendering Pipeline von GPUs ist in erster Linie dafür optimiert, 2D bzw. 3D Geometrie darzustellen, wie dies etwa in CAD/CAM Applikationen oder Spielen Anwendung findet. Mitlerweile verfügen neben handelsüblichen Heim- und Office-Computern bereits Mobile Endgeräte über spezielle Grafikprozessoren, die eine beachtliche Rechenleistung aufweisen.
Im direken Vergleich zu heutigen CPUs haben moderne GPUs einen höheren Speichertakt und können mehr Fließkommaoperationen ausführen. Die Spitzenleistung aktueller Grafikprozessoren liegt bei 250 GFLOPS und einer Speicherbandbreite von 51.2 GB/s, während CPUs gerade einmal mit 12 GFLOPS respektive 6 GB/s aufwarten können.
Ein weiterer wesentlicher Vorteil moderner Grafikprozessoren ist deren Programmierbarkeit mittels sog. Shader, sowie deren Fähigkeit, half (16bit) bzw. single precision floats (32bit) zu verarbeiten, was sie für wissenschaftliche Anwendungen attraktiv macht. Viele Operationen können zudem parallel ausgeführt werden.
Die Idee, Grafikprozessoren generell einzusetzen ist nicht neu. Aus diesem Grund wurde bereits vor einigen Jahren der Ausdruck GPGPU (engl. ’General Purpose Graphics Processing Unit’) geprägt. Wissenschaftliche Anwendungen erstrecken sich von schneller Matrix-Multiplikation über Flüssigkeitssimulationen bis hin zu iterativen Gleichungsösern. Weiterführend sei die Webseite www.gpgpu.org empfohlen.


