parallel 2015 » Agenda »
// Abladen, aber richtig: Ein Überblick über aktuelle Offload-Programmiermodelle
Offloading – die Auslagerung von Rechenaufgaben – wird benötigt, wenn Beschleuniger oder andere zusätzliche Recheneinheiten angesprochen werden sollen, um die Programmausführung zu beschleunigen und dabei Kosten sowie Energie zu sparen. Die Referenten stellen zunächst die wesentlichen Konzepte der Offload-Programmierung und dann die wichtigsten aktuellen Offload-Programmiermodelle vor. Anhand eines Vergleichs zeigen sie, wann welche Programmiermodelle am besten geeignet sind, und stellen eine Analysemethode vor, um Offload-Kandidaten zu identifizieren. Behandelt werden die folgenden Modelle:
- Intel MKL auto-offloading
- Intel LEO
- OpenMP 4.0 & 4.1
- OpenACC
- Intel Cilk Plus
- Python Offloading (pymic)
Skills
Gute Kenntnisse der allgemeinen Programmierung. Behandelt werden C, C++, Fortran und Python. Zu den Programmiersprachen, die den einzelnen Zuhörer interessieren, sollten gute Kenntnisse vorhanden sein. Grundlegende Kenntnisse der Konzepte der Parallelprogrammierung.
Lernziele
In diesem Vortrag stellen die Referenten die wesentlichen Konzepte der Offload-Programmierung im Allgemeinen und die wichtigsten aktuellen Offload-Programmiermodelle im Besonderen vor. Die Zuhörer können anschließend das für ihre Anwendungsfälle am besten geeignete Programmiermodell auswählen und sich weiteres Detailwissen selbst erarbeiten.
// Referenten
// Michael Klemm
arbeitet bei Intel mit Fokus auf Höchstleistungsrechnen. Seine Interes-sen liegen im Programmiersprachendesign, der effizienten parallelen Programmierung sowie Performance-Optimierung. Michael Klemm arbeitet im OpenMP Language Committee an ver-schiedensten 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.