Neuauflage erforderlich: Gutes Buch, aber leider nicht mehr aktuell

“Using OpenMP” ist eine gute Einführung und enthält ein paar gute Performancetipps.

Using OpenMP

Dieses Buch erschien 2008 und da war die Version 2.5 von OpenMP aktuell. Damals hätte ich dem Buch vier Sterne gegeben. Einen Stern hätte ich abgezogen, weil es z. B. Fehler im Beispielcode gibt.

Aber die vergangenen 6 Jahre sind im Bereich der parallelen Programmierung eine kleine Ewigkeit. Und hier finde ich es negativ, dass es noch keine 2. Auflage des Buches gibt. Somit sind es nur noch 3 Sterne.

Mit der Version 3.0, die ebenfalls 2008 erschien wurde das „task“-Konstrukt in OpenMP eingeführt. Dieser sollte heute eigentlich der Ausgangspunkt für die Parallelisierung mit OpenMP sein. Das vorherige Pragma „for“ ist nicht effizient komponierbar, d.h. Unterfunktionen dürfen nicht selber auch parallelisieren, weil dann sehr viel mehr Threads gestartet werden, als Prozessoren vorhanden sind. Dieses führt zu oft zu schlechtem Code oder zu schlechter Auslastung.

Und spätestens die Version 4.0, die Mitte 2013 erschien, erfordert eine Neuauflage des Buches. Diese Version unterstützt SIMD-Befehle, benutzerdefinierte Reduktionen und unterstützt auch das GPU-Computing, die Auslagerung von Rechenoperationen auf Grafikkarten.

Ansonsten bildet das Buch eine gute Einführung mit ein paar guten Performancetipps, wie z. B. der Optimierung von Memory-Access-Patterns.

  • Barbara Chapman, Gabriele Jost, Ruud Van Der Pas
  • Using OpenMP
  • MIT Press
  • 2008

Siehe auch die Renzension bei Amazon.

Anmerkung: Dieser Artikel wurde im November 2016 an das neue Blog-Format angepasst.

 "Zur Zeit beste Darstellung von Patterns für Shared-Mutability" "Gute Tipps für die Performance-Optimierung"