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) |