66-878 Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen

Veranstaltungsdetails

Lehrende: Prof. Dr. Klaus Sengstock; Martin Stieben

Veranstaltungsart: Vorlesung

Anzeige im Stundenplan: HLR

Semesterwochenstunden: 4

Unterrichtssprache: Deutsch

Min. | Max. Teilnehmerzahl: 5 | 30

Kommentare/ Inhalte:
Nahezu alle modernen, physikalischen Forschungsfelder erfordern die Verwendung oder sogar Entwicklung von parallelisierter Software auf Grundlage aktueller Programmierkonzepte und mittels moderner Großrechnersysteme. Diese funktionieren grundlegend anders, als herkömmliche Einzelkernanwendungen.
Das Programmierparadigma Nachrichtenaustausch zwischen Prozessen wird anhand des weit verbreiteten MPI Interface am Beispiel physikalisch-mathematischer Probleme vermittelt, wie sie im wissenschaftlichen Alltag auftreten können. Dabei werden Mehrkern- und Großrechnersysteme des PHYSnet-RZ verwendet und in deren Benutzung eingeführt. Die Methodik ist auf alle modernen Großrechnersysteme übertragbar und ermöglicht den Studierenden einen schnelleren Einstieg in die Forschungsphase im Bachelor- und Masterarbeitsmodul und legt Grundsteine für die Verwendung derartiger Systeme während einer Promotion.?Das Modul ergänzt somit das Kursangebot zur Vermittlung von Programmierkenntnissen auf Basis der Sprache Python, um einen wichtigen, unverzichtbaren Bestandteil für die Simulation komplexer physikalischer Systeme. 
Im ersten Teil der Veranstaltung werden die Studierenden in grundlegende Werkzeuge der modernen Softwareentwicklung auf Großrechnern eingeführt. Die Fragen: Wie logge ich mich auf das System ein? Wie navigiere ich in dem System? Wie erhalte ich Informationen zum System? Wie erstelle ich ein Programm und wie führe ich es aus? werden beantwortet. Außerdem wird kurz in die Programmiersprache Python eingeführt.
Block 2 führt in die Theorie moderner Mehrkernsysteme ein, wie sie an fast allen Arbeitsplätzen der Universität zu finden sind. Dabei werden Hardwareaspekte wie Speicherverteilung und CPU Cache erläutert und die Prozessverwaltung durch moderne Betriebssysteme beleuchtet. Unter Verwendung der Python Bibliothek "numba", werden die Studierenden erste lokal-parallelisierte Anwendungen entwickeln.
Die Vernetzung und Reservierung von Ressourcen auf Großrechnersystemen werden im dritten Teil behandelt. Den Studierenden werden typische Beispiele für Großrechnersysteme vorgestellt und gängige Vernetzungskonzepte erläutert. Die Studierenden werden dabei selbst ein solches System des PHYSnet-RZ kennen lernen und verwenden. 
Zentrale Bestandteil der Veranstaltung ist das Programmierparadigma Nachrichtenaustausch. Die Studierenden erstellen unter Verwendung von MPI eine Anwendung, die im Anschluss auf ihr Skalierungsverhalten auf verschiedenen Systemen untersucht wird. Verschiedene Modelle des Nachrichtenaustausches werden anhand verschiedener MPI Methoden erläutert und durch die Studierenden in einem Projekt analysiert und vertieft. Dabei werden auch Konzepte der Datenspeicherung und Komprimierung, die im Alltag des wissenschaftlichen Arbeitens auftauchen, exemplarisch an dem Format HDF5 erläutert und in das Projekt der Studierenden integriert.
Die Verwendung moderner Beschleunigerhardware wie GPUs wird durch die schnell wachsende Bedeutung von maschinellem Lernen und „Big Data“ in Wissenschaft und Forschung immer wichtiger. Sie ist daher Bestandteil des letzten Abschnitts dieses Moduls. Die Studierenden erlernen anhand von Beispielen die Möglichkeiten der Beschleunigung von umfangreichen Berechnungen durch GPUs und deren Programmierung.

Vorgehen:
Einmal pro Woche werden in einer Vorlesung in die Themen und theoretischen Grundlagen eingeführt. An einem zweiten Termin werden die Hausarbeiten/Übungen besprochen und auf die folgenden Hausarbeiten vorbereitet.

Die Studierenden benötigen zur Teilnahme an den Übungsgruppen im idealfall einen eigenen Computer.

Die Veranstaltung wird in deutscher Sprache durchgeführt und setzt entsprechende Sprachkenntnisse voraus.

Literatur:
Georg Hager Gerhard Wellein, Introduction to High Performance Computing for Scientists and Engineers, CRC Press 2011

Zusätzliche Hinweise zu Prüfungen:
Die Prüfungsleistung besteht aus den wöchentlichen Projekte/Hausarbeiten.

Termine
Datum Von Bis Raum Lehrende
1 Di, 18. Okt. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
2 Fr, 21. Okt. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
3 Di, 25. Okt. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
4 Fr, 28. Okt. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
5 Di, 1. Nov. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
6 Fr, 4. Nov. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
7 Di, 8. Nov. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
8 Fr, 11. Nov. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
9 Di, 15. Nov. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
10 Fr, 18. Nov. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
11 Di, 22. Nov. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
12 Fr, 25. Nov. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
13 Di, 29. Nov. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
14 Fr, 2. Dez. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
15 Di, 6. Dez. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
16 Fr, 9. Dez. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
17 Di, 13. Dez. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
18 Fr, 16. Dez. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
19 Di, 20. Dez. 2022 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
20 Fr, 23. Dez. 2022 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
21 Di, 10. Jan. 2023 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
22 Fr, 13. Jan. 2023 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
23 Di, 17. Jan. 2023 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
24 Fr, 20. Jan. 2023 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
25 Di, 24. Jan. 2023 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
26 Fr, 27. Jan. 2023 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
27 Di, 31. Jan. 2023 16:00 17:30 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
28 Fr, 3. Feb. 2023 10:15 11:45 SemRm 1083 Prof. Dr. Klaus Sengstock; Martin Stieben
Prüfungen im Rahmen von Modulen
Modul (Startsemester)/ Kurs Leistungs­kombination Prüfung Datum Lehrende Bestehens­pflicht
PHY-HLR Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen (WiSe 22/23) / PHY-HLR-V  Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen Hausarbeit 1  Hausarbeit ohne Termin Prof. Dr. Klaus Sengstock; Martin Stieben Ja
PHY-HLR Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen (SoSe 22) / PHY-HLR-V  Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen Hausarbeit 2  Hausarbeit ohne Termin Prof. Dr. Klaus Sengstock; Martin Stieben Ja
Übersicht der Kurstermine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
Lehrende
Prof. Dr. Klaus Sengstock
Martin Stieben