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:
Vorgehen: Die interaktive Veranstaltung findet ausschließlich online statt. Zugangsdaten werden den Studierenden zu Beginn der Veranstaltung über Stine zur Verfügung gestellt.