Paralleles Programmieren

zuletzt durchgeführt Oktober – Dezember 2018

Parallele Programmierung gilt heute als ein Schlüssel zur Steigerung der Performance von Software

Paralleles Programmieren

Paralleles Programmieren gilt heute als ein Schlüssel zur Steigerung der Performance von Software. Für die Code-Entwicklung auf parallelen Systemen benötigen Anwendungsprogrammierer nicht nur einschlägige Kenntnisse über die Architektur paralleler Systeme und Programmiermodelle wie MPI oder OpenMP, sondern auch die Fähigkeit, Direktiven, Bibliotheken und zentrale Parallelisierungskonzepte effizient einzusetzen.

Diese Kenntnisse und Fähigkeiten stehen im Zentrum des Moduls „Paralleles Programmieren“. Neben der Vermittlung der theoretischen Grundlagen bieten konkrete Programmierübungen die Möglichkeit, das Gelernte zu vertiefen und praktisch einzuüben. Das Modul wendet sich an Programmierer und Entwickler mit Erfahrungen in C, C++ oder Fortran.

Das Modul Paralleles Programmieren

Zielgruppe
 

  • Software-Entwickler
  • Software-Architekten

Modulinhalte
 

  • Was ist HPC?
  • Performance
  • Vektorisierung
  • Parallelisierung - Paralleles Denken
  • Parallelisierbarkeit von Software, Berechnung und Anforderungen
  • OpenMP
  • Parallele Programmiermodelle: MPI-Einführung (C++, Fortran)
  • Parallele Programmiermodelle: MPI für Fortgeschrittene (C++, Fortran)
  • Parallele Programmiermodelle: Parallele I/O
  • Parallele Programmiermodelle: Hybride Programmierung - MPI + X
  • Andere Parallele Programmiermodelle
  • Parallelisierung: Skalierung
  • Parallelisierung: Domain-Decomposition und Lastbalance
  • Parallelisierung: Parallele Design Patterns
  • Parallelisierbarkeit: Parallele Aspekte von Programmiersprachen
  • Heterogene Rechnersysteme und Grafikkarten
  • Parallele numerische Bibliotheken
  • Parallelisierungsstrategien - Entscheidung des Programmiermodells

Voraussetzungen und technisches Vorwissen
 

Da die Weiterbildung berufsbegleitend und teilweise online stattfindet, ist der uneingeschränkte Zugang zu einem internetfähigen PC oder Laptop obligatorisch. Ein Teil der Lerninhalte ist auf Mobilgeräten (Tablets, Smartphones) darstellbar, die Nutzung eines PC/Laptop wird allerdings empfohlen, weil zahlreiche Übungen vorgesehen sind.
Das Betriebssystem Linux wird empfohlen.

Zeitaufwand


Der Zeitaufwand pro Modul beträgt rund 125 Stunden über einen Zeitraum von 11 Wochen. Er verteilt sich auf:

  • wöchentlich ca. 10 Stunden für Selbststudium, darin ein wöchentliches Online-Meeting (montagabends)
  • zwrei Präsenztage in Stuttgart jeweils zu Beginn und am Ende des Moduls

Kosten


Das Weiterbildungsangebot wird vom Europäischen Sozialfonds und vom Ministerium für Wissenschaft, Forschung und Kunst Baden-Württemberg gefördert und befindet sich in der Entwicklung. Daher findet der erste Durchlauf in einer Beta-Version statt. Die Teilnahme ist für die erste Lerngruppe kostenlos.

Modulhandbuch


Ausführliche Informationen zur Supercomputing-Akademie und das Modul "Paralleles Programmieren" finden Sie im Modulhandbuch.

Themen, die darin unter anderem erläutert werden:

  • Das Weiterbildungsprogramm im Überblick
  • Organisatorische Rahmenbedingungen
  • Schwerpunktmodul Paralleles Programmieren