Hintergründe und Ziele des parallelen Rechnens, Grundkenntnisse paralleler Rechnerarchitekturen, Programmiermodellen, Sprachen und Schnittstellen (konkret OpenMP, Cilk, MPI), Leistungs und Qualitätsanalyse, Problemfälle, elementare Fähighkeiten des Programmierens in den vorgestellten Schnittstellen/Sprachen (C oder C++ mit MPI und OpenMP; pthreads, Cilk und/oder verwandte).
Motivation, Hintergründe, (Geschichte) des parallelen Rechnens. Parallele Rechnerarchitekturen, Programmiermodelle, Leistungsanalyse und Beurteilung, parallele Algorithmen (Fragestellungen), Einführung in MPI (Message-Passing Interface), Einführung in pthreads und OpenMP, task-basierte Ansätze wie Cilk. Sprachen und Schnittstellen für Mehrkernrechner.
Erste Vorlesung (nur Vorbesprechung): Montag 3.10.2016
Für aktuelle Plan und Vorlesungsmaterial, siehe Homepage.
Begleitende Literatur:
Rauber, Rünger: Parallel programming, Second Edition, Springer 2013.
Andere Literatur wird bekanntgegeben. Kursmaterial (Folien) soll für die Projektdurchführung ausreichen.
ECTS Breakdown:
Total: 150 Stunden = 6ECTS
Erfolgreiche Projektdurchführung und Präsentation. Umfang 3-4 kleinere, verwandte Programmierprojekte
WICHTIG: Anmeldung zu den zweier-Gruppen ist erforderlich!
Grundlagen von Programmiersprachen, Rechnerarchitekturen und Betriebssystemen. Grundlage Algorithmen und Datenstrukturen (asymptotische worsct-case Analyse). Programmierkenntnisse in C, C++, Fortran oder Java.