parallel 2015 » Agenda »
// Effiziente Programmierung mit OpenMP 4.0
"Multicore is here to stay" lautet ein bekannter Satz, der treffend die Notwendigkeit zur parallelen Programmierung für Shared-Memory-Systeme beschreibt. Programmierer schätzen OpenMP als bewährtes Programmiermodell für genau diesen Zweck, sind jedoch enttäuscht, wenn der Code nicht die Performance-Erwartungen erfüllt. Dieses Tutorial beleuchtet potentielle Ursachen für Performance-Probleme und zeigt, wie sie behoben werden können. Nach einer knappen Einführung steht effiziente parallele Programmierung mit OpenMP im Vordergrund. Datenlokalität, False-Sharing, SIMD-Vektorisierung werden im Detail diskutiert. Hinzukommen Tasking, Cancellation und Programmierung für Beschleunigerhardware.
Skills
Gute Kenntnisse der allgemeinen Programmierung sowie Grundkenntnisse im Multithreading. Behandelt werden C/C++ sowie Fortran; für diese Sprachen setzen die Referenten Grundkenntnisse voraus.
Lernziele
Das Tutorial soll den Zuhörer in die effiziente Programmierung mit OpenMP 4.0 einführen. Die Zuhörer lernen Performance-Probleme zu identifizieren und zu verstehen und bekommen wichtige Optimierungsmöglichkeiten an die Hand um den Code zu verbessern. Ebenso können die anschließend die für ihre Aufgabe besten Werkzeuge aus OpenMP 4.0 auswählen und anwenden.
// Referenten
// Michael Klemm
arbeitet bei Intel mit Fokus auf Höchstleistungsrechnen. Seine Interessen liegen im Programmiersprachendesign, der effizienten parallelen Programmierung sowie Performance-Optimierung. Er arbeitet im OpenMP Language Committee an verschiedensten Fragestellungen.
// Christian Terboven
arbeitet am IT Center der RWTH Aachen. Seine Forschungsinteresse gilt der Parallelprogrammierung. Seit 2006 ist er Mitglied des OpenMP Language Committee und leitet dort das Affinity-Subcommittee, welches die Themenbereiche Thread-Binding und NUMA-Unterstützung aktiv vorantreibt.