Projektseminar:
Programmierung von Manycore-Prozessoren
Es werden wissenschaftliche Anwendungen für Systeme mit Manycore-Prozessoren (Intel Xeon Knights Corner, Knights Landing) entwickelt, programmiert und auf Testsystemen evaluiert. An Fallbeispielen erlernen die Studierenden Methoden zur Entwicklung effizienter Software für Manycore-Systeme: Parallelisierung, Vektorisierung, Cache-Nutzung, Offloading, Nachrichtenaustausch. Dabei kommen verschiedene Programmiersprachen mit parallelen Kommunikationsbibliotheken zum Einsatz (z.B. OpenCL, OpenMP, MPI). Die Arbeit erfolgt in Kleingruppen.
Erforderliche spezielle Arbeitsleistungen für LP-Vergabe und Prüfungszulassung:
aktive Teilnahme, Vortrag, Erstellung von Software.
Raum RUD26, 1'306 (Erwin Schrödinger-Zentrum)
Mittwochs, 13-15 und 15-17 Uhr
Vortragsthemen und Termine (Materialien teilw. mit Passwort geschützt).
Die angegebenen Einstiegsmaterialien sind durch eigene
Literaturrecherche zu ergänzen.
20.04. | Einführung und Themenvergabe (.pdf) | |
27.04. | fällt aus (Literaturstudium, Vortragsvorbereitung) | |
04.05. | Vorträge: | |
1.1 MPI (Buch) | Vortragsfolien (.pdf) | |
1.2 pThreads (Link) | Vortragsfolien (.pdf), Beispiele (.zip) | |
3.1 OpenMP (Paper, Link, [2]) | ||
7 Speicherhierarchie, NUMA (Buch) | Vortragsfolien (.pdf) | |
11.05. | fällt aus (Zuse 75 Tagung) | |
18.05. | Vorträge: | |
2 SIMD-Vektorisierung (Paper, Link, Link) | Vortragsfolien (.pdf) | |
Einführung in OpenMP | Vortragsfolien (.pdf) | |
3.2 OpenMP 4.0 Offloading ([2], Paper, Link, Link, Link) | Vortragsfolien (.pdf) | |
TDS Quickstart | Vortragsfolien (.pdf) | |
25.05. | Vorträge: | |
6 Profiling Tools (Paper, Paper, Link, Link, Link, Link) | Vortragsfolien (.pdf) | |
5.1 Heterogene Systeme: Xeon-Phi ([1], Paper, Link, [2]) | ||
5.2 Heterogene Systeme: GPGPU ([1] Link, Link) | Vortragsfolien (.pdf) | |
8 KNL, High Bandwidth Memory (Paper) | Vortragsfolien (.pdf) | |
01.06. | Vortrag: | |
4 One-Sided Communication in MPI-3 (Paper, Link, Link) | ||
08.06. | ||
15.06. | ||
22.06. | ||
29.06. | ||
06.07. | ||
13.07. | ||
20.07. | ||
[1] | Heterogeneous Computing with MPI (Paper) | |
[2] | OpenMP 4.5 API (Link) | |
Alle: | Best Practice Guide — Intel Xeon Phi (Link) |
Übungen
25.05. | Übung 1 (.pdf, .tar.gz) | Beispiellösung (.tar.gz) |
01.06. | Übung 2 (.pdf) | Hinweise (.pdf) |
15.06. | Übung 3 (.pdf) | |
13.07. | Übung 3.2 (.pdf,.hpp) |