Intendierte Lernergebnisse
Absolventinnen und Absolventen dieses Moduls beherrschen die Grundlagen der parallelen Programmierung und können deren Techniken und Methoden praktisch anwenden. Sie können die Möglichkeiten, Schwierigkeiten und Grenzen der Parallelverarbeitung erfassen und erfolgversprechende Parallelisierungskonzepte identifizieren. Sie sind in der Lage eine Leistungsanalyse als Schnittstelle zwischen parallelen Rechnerarchitekturen und Programmen durchzuführen.
Lehrmethodik
Vortrag und praktische Übungen; Parallele Implementierung von vielen kleinen (und berühmten) Algorithmen; Parallele Programmierung mit OpenMP.
Inhalt/e
Einführung in parallele Systeme; Architektur von Parallelrechnern; Programmiermodelle und Programmierung für parallele Systeme; Leistungsmetriken und Leistungsanalyse; Datenabhängigkeitsanalyse; einfache Optimierungstechniken für serielle und parallele Programme.
Erwartete Vorkenntnisse
Programmieren in C; Betriebssysteme
Curriculare Anmeldevoraussetzungen
Keine
Literatur
Designing and Building Parallel Programs, by Ian FosterLink auf weitere Informationenhttps://www.mcs.anl.gov/~itf/dbpp/