Hintergründe und Ziele des parallelen Rechnens, Grundkenntnisse paralleler Algorithmen, 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 Algorithmen, 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 (inklusive Vorbesprechung): Montag, 4.3.2019
Für aktuelle Plan und Vorlesungsmaterial, siehe Homepage.
Begleitende Literatur:
Andere Literatur wird bekanntgegeben. Kursmaterial (Folien) soll für die Projektdurchführung ausreichen.
ECTS Breakdown:
Total: 150 Stunden = 6 ECTS
Programmierprojekte, Übungen, Klausur.
Die Anmeldung ist derzeit manuell gesperrt
Grundlagen von Programmiersprachen, Rechnerarchitekturen und Betriebssystemen. Grundlagen in Algorithmen und Datenstrukturen (asymptotische worst-case Analyse). Programmierkenntnisse in C, C++, Fortran oder Java.