AMD und PathScale treten OpenACC Standards Group bei

Im Rahmen der gerade in New Orleans stattfindenden Supercomputing Conference 2014 (SC14) haben AMD und der Compiler-Spezialist PathScale ihren Beitritt zur OpenACC Standards Group bekanntgegeben. OpenACC ist eine im HPC-Umfeld sehr beliebte API zur Programmierung von Clustern und Supercomputern, die ähnlich wie OpenMP auf Direktiven basiert und ursprünglich 2011 von CAPS, Cray, NVIDIA und PGI speziell für den Einsatz von Beschleunigerkarten erschaffen wurde. Seither mauserte sich die OpenACC-API auch durch den Beitritt von immer mehr Forschungseinrichtungen und Universitäten zu einem wichtigen Standard für die Programmierung von Höchstleistungsrechnern. Entwickler können mit Hilfe der Direktiven parallelisierbare Teile des Quellcodes für den Compiler 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 die im HPC-Umfeld gebräuchlichen Programmiersprachen Fortran, C und C++ konzentrieren, während der Compiler die eigentliche Parallelisierung entsprechend der Zielhardware vornimmt.
AMD hatte bereits 2012 die Bedeutung von OpenACC erkannt und gab Ende Oktober 2012 eine Zusammenarbeit mit The Portland Group (PGI) bekannt, damit deren OpenACC-Compiler auch Code für AMDs APUs und dedizierte Grafikkarten erzeugen kann. Allerdings wurde diese Initiative durch den Aufkauf von PGI durch NVIDIA konterkariert. Dennoch rangen sich die Unternehmen dazu durch, das begonnene Projekt zu einem erfolgreichen Ende zu führen. Im Februar 2014 erschien dann die erste stabile Version des OpenACC-Compilers von PGI, die Unterstützung für AMD-GPUs bietet. Hierzu erzeugt der OpenACC-Compiler basierend auf den Direktiven OpenCL-Code, der dann über AMDs OpenCL-Laufzeitumgebung ausgeführt wird. Zwischenzeitlich trieb AMD in Kooperation mit SUSE und der Open-Source-Gemeinde die Integration eines HSA-Back-Ends in die GNU Compiler Collection (GCC) voran, welches mit Hilfe von OpenMP-Direktiven in der Version 4.0, die bereits seit vielen Jahren zur Parallelisierung auf Mehrkern- und Multi-Prozessorsystemen zum Einsatz kommen, ebenfalls die Auslagerung von Berechnungen von der CPU auf Beschleuniger unterstützen soll. AMD und SUSE orientieren sich hierbei an den von OpenACC genutzten Direktiven.
Greg Stoner, Sr. Director of Developer Technology, Professional Graphics bei AMD betont in seinem Statement die Vorteile von OpenACC bei der Programmierung von heterogenen Rechensystemen. Das vereinfachte, auf Direktiven basierende Programmiermodell mit nur einem einzigen Source-Code lege eine solide Grundlage, um die Vorteile heterogener Rechensysteme nutzbar zu machen. Zudem ist Stoner neues Mitglied des OpenACC Board of Directors geworden und will in dieser Funktion bei der Weiterentwicklung des Standards behilflich sein.
“The HPC community is driving the need for rich heterogeneous computing solutions to better meet customer performance and power needs. With this transition there is a strong need for a rich, simplified programing model to support new heterogeneous application development and pull in legacy C/C++/Fortran applications. OpenACC 2.0 via its single source directives-based programming model puts in place a solid foundation to drive key benefits of a heterogeneous hardware platform. AMD is looking forward to working with the OpenACC organization to help it to continue to evolve this important programming standard.”
Oscar Hernandez, Principle Investigator am Oak Ridge National Laboratory (ORNL), sieht durch den Beitritt von PathScale zur OpenACC Standards Group einen großen Vorteil in der Diversifizierung der verfügbaren Compiler, welche Unterstützung für OpenACC bieten. Zudem beabsichtige das ORNL den PathScale-Compiler für die Nutzer des eigenen Cray-XK7-System (Titan) verfügbar zu machen.
“It is important in any HPC development environment to have access to a variety of compilers. Sometimes one compiler will exhibit better performance on a particular code than another, or behave in a more desirable way. We fully intend to make PathScale available to developers creating applications for ORNL’s Titan Cray XK7 supercomputer.”
Quelle: Pressemitteilung
Links zum Thema:
- AMD Awarded $32 Million for ‘Extreme Scale’ High-Performance Computing Research Focused on HSA, APUs and Memory ()
- AMD veröffentlicht HSA-Open-Source-Laufzeitumgebung für Linux ()
- AMD veröffentlicht Windows- und Linux-Compiler für C++ AMP Version 1.2 ()
- PGI-Compiler-Sammlung mit Unterstützung für OpenACC 2.0 und AMD GPUs veröffentlicht ()
- PGI 2014 Adds OpenACC 2.0 Features for NVIDIA and AMD GPU Accelerators ()
- APU13: AMD baut Software-Ökosystem für Opteron-Zukunft mit APUs auf ()
- CAPS Announcing Full Support for OpenACC 2.0 in its Compilers ()