Verbesserte Computertechnologie
GPU, mit denen die beeindruckende Grafik moderner Computerspiele berechnet wird, erstaunen gleichermaßen Informatiker und IT-Forscher durch ihre Leistung bei numerischen Hochleistungsberechnungen. Dank der hohen Nachfrage für Computerspiele ist GPU-Technologie deutlich im Preis gesunken, sodass sie nun eine kosteneffektive Alternative für Hochgeschwindigkeitsberechnungen darstellt. Die Mitglieder des EU-finanzierten Projekts "Automatic code generation for graphics processing units" (AUTH-AUTOGPU) arbeiteten daran, den Lebenszyklus optimierter numerischer Codes auf GPU zu erweitern, um diese für den alltäglichen Betrieb effizienter zu machen. Ein Schwerpunkt war die Entwicklung einer hochentwickelten, expliziten, parallelen Sprache zur Programmierung numerischer Algorithmen für Signal- und Bildverarbeitungsanwendungen. Unter Verwendung von Codevorlagen, Algorithmus-Bibliotheken und einem speziellen Compiler arbeiteten die Wissenschaftler von AUTH-AUTOGPU an einer Automatisierung der Codeerstellung. Mithilfe fortschrittlicher Optimierungs- und Suchtechniken nahmen sich die Projektmitglieder auch die Automatisierung der Einstellung leistungskritischer Softwarekomponenten vor. Um diese Ziele zu erreichen, entwickelte das Projektteam mit Erfolg eine Plattform namens AUToGPU, um Entwicklung und Prototyperstellung für parallele Algorithmen für digitale Signal- und Bildverarbeitung zu erleichtern. Dies trug dazu bei, den Entwicklungszyklus zu beschleunigen (insbesondere in Bezug auf GPU), die Leistungsoptimierung zu automatisieren, die GPU-Hardwareaktualisierungen anzupassen und die Software agiler zu gestalten. AUToGPU nutzt spezielle Kompilierungstechniken und neuartige mathematische Abstraktionen zur Weiterentwicklung der Hochleistungsberechnung, indem domainspezifische mathematische Strukturen manipuliert und einer GPU-Architektur zugeordnet werden. Dies ermöglicht bessere Berechnung einer vereinheitlichten Abstraktion der Algorithmen in mathematischer Expression hoher Ebene. Folgend werden Regeln angewandt, um die Algorithmusabstraktion mithilfe mathematischer Identitäten in äquivalente Varianten umzuwandeln. Die laufende Erforschung algorithmischer Varianten trägt zur Weiterentwicklung von Anwendungen mit Compute Unified Device Architecture (CUDA) bei, der Parallelberechnungsplattform und Programmiertechnik des Grafikriesen NVIDIA. Vor diesem Hintergrund eröffnet der phänomenale Erfolg von NVIDIA und der hauseigenen GPU-Architektur für das Hochleistungssegment neue Möglichkeiten für große Mikroprozessorhersteller. Inzwischen sind auch AMD und Intel auf den Markt für GPU-Beschleuniger getreten, da das Interesse an dieser Technologie beständig wächst. Aus diesem Grund kann AUToGPU möglicherweise für eine größere Auswahl von Prozessoren nützlich sein, vor allem da GPU-Architektur zweifellos bald zur Norm der Mikroprozessorkonstruktion werden wird.
Schlüsselbegriffe
Computertechnologie, Grafikprozessor, Computerprozessor, numerische Berechnung, Computerspiele, Hochgeschwindigkeitsberechnung, Codeerstellung, Programmierung, parallele Algorithmen, Mikroprozessor