Vorlesung: Architektur und Programmierung

von Parallelrechnern

Die effiziente Programmierung von Parallelrechnern erfordert ein gutes Verständnis der zugrunde liegenden Systemarchitektur. Es werden Konzepte massiv-paralleler Systeme mit verteiltem und gemeinsamem Hauptspeicher detailliert vorgestellt und Methoden der effizienten Programmierung präsentiert und analysiert. Die Lehrinhalte werden in den Übungen durch praktische Implementation von Algorithmen auf aktuellen Systemen vertieft. Dabei kommen verschiedene Programmiersprachen mit parallelen Kommunikationsbibliotheken zum Einsatz (z. B. OpenCL, OpenMP, MPI).

Übungen
Die Studierenden implementieren ausgewählte Algorithmen auf heterogenen Parallelrechnern und Manycore-Systemen (z. B. Intel Xeon Phi). Lernziel sind vertiefte Kenntnisse zu modernen Parallelrechnern und deren architekturbewusster Parallelprogrammierung.

Raum RUD26, 1'307 (Erwin Schrödinger-Zentrum)
VL Mittwoch, 13-15 Uhr
UE Mittwoch, 15-17 Uhr

Material (Passwort geschützt)

18.10.2017   Organisatorisches (.pdf)
18.10.2017   Einführung (.pdf)
25.10.2017   Prozessorarchitektur (.pdf)
01.11.2017   Befehlsausführung
08.11.2017   Befehlsausführung (.pdf)
08.11.2017   Unterbrechungen
15.11.2017   Unterbrechungen (.pdf) <- aktualisiert
15.11.2017   Threadprogrammierung (.pdf)

Übungen

01.11.2017   Pipelining (.pdf)
15.11.2017   OpenMP Threadprogrammierung (.pdf)