Parallele Programmierung in C++ mit OpenMP

Abstract

In den letzten Jahren haben sich Mehrkernsystem am Markt erfolgreich etabliert. Im Server Segment gibt es einzelne Prozessoren, die bis zu 72 Kerne besitzen. Um diese Hardware voll auszunutzen, muss bei der Software Entwicklung Software aufwändig angepasst werden. Gleichzeitig verschlechtert sich die Möglichkeit zur Portierbarkeit auf andere Systeme. Um den Aufwand für den Entwickler gering zu halten und gleichzeitig eine dynamische Zuweisung von Kernen zu verschiedenen Berechnungen zu ermöglichen, wurde OpenMP entwickelt. OpenMP kann für die Programmiersprachen C, C++ und Fortran verwendet werden. Es nutzt gemeinsamen Speicher und die Pragmas können einfach in vorhandenen Code eingefügt werden. Die potentiellen Leistungsverbesserungen, die durch die Verwendung von OpenMP gegenüber einer Single-Thread und einer MPI Lösung entstehen, werden dargestellt. Mithilfe einiger Beispiele wird eine Einführung in die Programmierung mit OpenMP gegeben.