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

Veranstaltungsdetails

Lehrende: Niklas Käming; Martin Stieben

Veranstaltungsart: Vorlesung

Anzeige im Stundenplan: PHY-HLR-V

Semesterwochenstunden: 4

Unterrichtssprache: Deutsch / Englisch

Min. | Max. Teilnehmerzahl: - | 33

Kommentare/ Inhalte:
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.

Lernziel:

Die Studierenden erlernen:


  • die Konzepte zu, die Erstellung von und den Umgang mit parallelisierter Software unter Verwendung der Programmiersprache Python
  • das Programmierparadigma Nachrichtenaustausch zwischen Prozessen anhand des MPI Interface am Beispiel physikalisch-mathematischer Probleme
  • den Umgang mit einer typischen HPC Infrastruktur am Beispiel der PHYSnet Compute Cloud
  • (Die Verwendung moderner Beschleunigerhardware wie GPUs)

Vorgehen:
Die interaktive Veranstaltung findet ausschließlich online statt. Zugangsdaten werden den Studierenden zu Beginn der Veranstaltung über Stine zur Verfügung gestellt.

Termine
Datum Von Bis Raum Lehrende
1 Di, 12. Okt. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
2 Do, 14. Okt. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
3 Di, 19. Okt. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
4 Do, 21. Okt. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
5 Di, 26. Okt. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
6 Do, 28. Okt. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
7 Di, 2. Nov. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
8 Do, 4. Nov. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
9 Di, 9. Nov. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
10 Do, 11. Nov. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
11 Di, 16. Nov. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
12 Do, 18. Nov. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
13 Di, 23. Nov. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
14 Do, 25. Nov. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
15 Di, 30. Nov. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
16 Do, 2. Dez. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
17 Di, 7. Dez. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
18 Do, 9. Dez. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
19 Di, 14. Dez. 2021 11:00 12:30 Digital Niklas Käming; Martin Stieben
20 Do, 16. Dez. 2021 14:30 16:00 Digital Niklas Käming; Martin Stieben
21 Di, 4. Jan. 2022 11:00 12:30 Digital Niklas Käming; Martin Stieben
22 Do, 6. Jan. 2022 14:30 16:00 Digital Niklas Käming; Martin Stieben
23 Di, 11. Jan. 2022 11:00 12:30 Digital Niklas Käming; Martin Stieben
24 Do, 13. Jan. 2022 14:30 16:00 Digital Niklas Käming; Martin Stieben
25 Di, 18. Jan. 2022 11:00 12:30 Digital Niklas Käming; Martin Stieben
26 Do, 20. Jan. 2022 14:30 16:00 Digital Niklas Käming; Martin Stieben
27 Di, 25. Jan. 2022 11:00 12:30 Digital Niklas Käming; Martin Stieben
28 Do, 27. Jan. 2022 14:30 16:00 Digital Niklas Käming; 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 21/22) / PHY-HLR-V  Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen Hausarbeit 1  Hausarbeit ohne Termin Niklas Käming; Martin Stieben Ja
PHY-HLR Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen (WiSe 20/21) / PHY-HLR-V  Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen Hausarbeit 2  Hausarbeit ohne Termin Niklas Käming; Martin Stieben Ja
PHY-HLR Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen (SoSe 21) / PHY-HLR-V  Hochleistungsrechnen in der Physik: Grundlagen der Entwicklung paralleler Anwendungen Hausarbeit 2  Hausarbeit ohne Termin Niklas Käming; 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
Martin Stieben
Niklas Käming