The Portland Group (PGI) und AMD arbeiten daran, die PGI Accelerator Compilers für Fortran, C und C++ dahingehend zu erweitern, dass über die OpenACC-Direktiven auch AMDs Accelerated Processing Units (APUs) und diskreten GPU-Beschleunigerkarten genutzt werden können. Dabei soll es bei der Erstellung der ausführbaren Dateien zwei Möglichkeiten geben: Es kann Code erzeugt werden, der allein die GPU-Beschleuniger nutzt, oder alternativ eine ausführbare Datei ("Heterogeneous x64+GPU Executable"), welche automatisch sowohl die CPU als auch die GPU einer APU für die Berechnungen nutzt.
Die 2009 vorgestellten PGI Accelerator Compilers waren die industrieweit ersten Kompiler, welche auf Direktiven basierend Rechenaufgaben von einer x86-Host-CPU auf eine GPU-Beschleunigerkarte auslagern konnten. Entwickler können mit diesen Direktiven parallelisierbare Teile des Quellcodes für den Kompiler markieren, die für die Auslagerung auf die Beschleuniger geeignet sind. Hierzu gehören vor allem Schleifen, bei deren Markierung auch weitere Details definiert werden können, damit die Ausführung auf spezifischen Beschleunigern wirklich effektiv erfolgt. Entwickler können sich somit auf die Algorithmen und deren Implementierung in den im HPC-Umfeld gebräuchlichen Programmiersprachen Fortran, C und C++ konzentrieren, während der Kompiler die eigentliche Parallelisierung entsprechend der Zielhardware vornimmt.
Außerdem beherrscht die Kompiler-Kollektion weitere Optimierungstechnologien zur Steigerung der erzielbaren Rechenleistung auf dem x86-Host. Dazu zählen OpenMP, automatische Vektorisierung für die SIMD-Einheiten, automatische Parallelisierung, Inter-Procedurale Analysis, Function Inlining, Speicherhierarchieoptimierungen und mehr.
Douglas Miles von PGI sieht in der neuen Initiative den richtigen Weg, um die Programmierung von heterogenen AMD-Plattformen, wie es beispielsweise APUs sind, zu vereinfachen und so einer größeren Anzahl an HPC-Entwicklern für Anwendungen aus Wissenschaft und Ingenieurswesen zugänglich zu machen.
Zitat: Douglas Miles, Director, The Portland Group
"The PGI Accelerator compilers will open up programming of AMD APUs and GPUs to the growing number of HPC developers using directives to accelerate science and engineering applications. Together with AMD, we are working to make heterogeneous programming easily accessible to mainstream C and Fortran developers, and to unleash the power of these devices."
Und Terri Hall von AMD ist sich sicher, dass Initiativen wie diese AMD-Plattformen und speziell APUs einem größeren Entwicklerökosystem öffnen.
Zitat: Terri Hall, Corporate VP, Business Alliances, AMD
"We look forward to working with PGI to ensure that through the use of standard compiler directives the full computational power of AMD platforms with integrated APUs can be easily tapped. Engagements like this are key to expanding the developer ecosystem and the opportunities for AMD platforms."
Nach den aktuellen Planungen soll eine erste Testversion mit Unterstützung für die AMD-Beschleuniger Mitte 2013 über die PGI Accelerator Compilers nutzbar werden. Für den produktiven Einsatz ist die Veröffentlichung eines finalen Release ebenfalls noch für einen späteren Zeitpunkt im Jahr 2013 angesetzt. Den aktuellen Entwicklungsstand will PGI auf der SC12 in Salt Lake City demonstrieren, die vom 12. bis 15. abgehalten wird. Für Kunden, die bereits im Besitz einer PGI-Accelerator-Lizenz sind, sollen keine Mehrkosten anfallen.
Diesen Artikel bookmarken oder senden an ...