Neuer Programmierstandard für CPU/GPU-Systeme

Parwez Farsan
21 Kommentare

Gemeinsam mit Cray, der Portland Group (PGI) und CAPS hat Nvidia einen neuen Programmierstandard entwickelt, der die Nutzung heterogener CPU/GPU-Rechnersysteme für paralleles Rechnen erleichtern soll. Da es im Interesse der Unternehmen liegt, eine breite Entwicklerbasis zu schaffen, ist „OpenACC“ ein offener Standard.

OpenACC basiert zum großen Teil auf den PGI- und Cray-Programmiermodellen und erlaubt den Entwicklern paralleler Programme, einfach Hinweise in Form von Steueranweisungen – sogenannte Direktive – an den Compiler zu geben, in denen die zu beschleunigenden Teile des Codes identifiziert werden. Die Programmierer müssen folglich keine Veränderung oder Anpassung des zu Grunde liegenden Codes vornehmen. Die Direktiven erlauben dem Compiler auf diese Weise die genaue Verteilung der Rechenarbeit an den Beschleuniger.

Vorteile durch OpenAAC sehen die Unternehmen beispielsweise in den Bereichen Chemie, Biologie, Physik, Datenanalyse oder Klimaforschung. Vorhandene Compiler von Cray, PGI und CAPS werden den zu Nvidias CUDA kompatiblen OpenACC-Standard voraussichtlich ab dem ersten Quartal 2012 unterstützen. Wie stark Entwickler von der Nutzung Direktiven-basierter Compiler profitieren können, versucht Nvidia auf einer Internetseite zu zeigen, auf der Entwickler über ihre Erfahrungen berichten können. Die bisher dort zu sehenden Erfahrungsberichte sprechen von enormen Steigerungen der Anwendungsleistung in kurzer Zeit.

Entwickler, die am Direktiven-basierten Programmieren interessiert sind, können für einen Monat eine kostenlose Trial-Version des PGI Accelerator Fortran and C Compiler nutzen, nachdem sie sich bei Nvidia oder bei Cray registriert haben.