Parallel-Programmierung: Nvidia stellt OpenACC Toolkit vor

Um mehr Entwickler aus dem akademischen Bereich von den Möglichkeiten des OpenACC-Standards für parallele Programmierung überzeugen zu können, bietet Nvidia eine Werkzeugsammlung zur Hilfe bei dessen Einsatz an.

In Pocket speichern vorlesen Druckansicht
Nvidia stellt OpenACC Toolkit vor
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Damit auch außerhalb der Welt des High Performance Computing die Vorteile des OpenACC-Standards zum Tragen kommen und besonders Forscher davon profitieren können, hat Nvidia eine entsprechende Werkzeugsammlung zusammengestellt. Das OpenACC Toolkit umfasst unter anderem einen PGI Accelerator Workstation Compiler Suite für Fortran 2003, C11 und C++11, die das Unternehmen kostenlos zur akademischen Forschung und Entwicklung anbietet - kommerzielle Nutzer können sie 90 Tage lang frei nutzen. Der Funktionsumfang des akademischen Angebots ist insofern eingeschränkt, als das beispielsweise die Laufzeitumgebung für OpenMP auf den Umgang mit vier Threads begrenzt ist.

Darüber hinaus sind auch eine Beta-Version des Profilers NVProf 7.5, eine Reihe von mit der GPU beschleunigten Bibliotheken und Codebeispiele enthalten. Um herauszufinden, welche in einem Programm befindlichen Bibliotheken sich durch eine beschleunigte Version ersetzen lassen, ist auch ein GPU Wizard im Toolkit enthalten. Er soll das Ausführen des Codes analysieren und Vorschläge zum Austausch von Libraries machen.

Das Toolkit soll auf Forscher zugeschnitten sein, die sich bisher noch nicht viel mit GPU-Programmierung oder Parallelisierung auseinandergesetzt haben und ihren Code so portabel wie möglich behalten wollen. Für eine Beschleunigung soll nur wenig ergänzender Code nötig sein, sodass sich wohl gut auf bestehendem CPU-Code aufbauen lässt und der Code weiterhin lauffähig bleibt. Stehen keine GPUs zur Verfügung, versuchen die Werkzeuge auf lange Sicht wohl, den Code für die CPU-Kerne zu parallelisieren. Das letzte Feature durchläuft momentan wohl noch eine geschlossene Beta-Phase und soll erst im vierten Quartal 2015 angeboten werden.

OpenACC ist ein offener Standard für die parallele Programmierung, dessen zweite Hauptversion seit 2013 aktuell ist. Die OpenACC-Programmierschnittstelle beschreibt einige Compiler-Direktiven, mit denen sich Schleifen und Code-Passagen in C, C++ oder Fortran auszeichnen und an einen Beschleuniger wie eine GPU weiterreichen lassen sollen. Der Standard ist seit 2011 in Entwicklung und wird unter anderem durch Unternehmen wie PGI und Nvidia vorangetrieben. (jul)