Überblick

Dieser Kurs gliedert sich in zwei Teile: Zum einen wird in einem einwöchigen Tutorium ein Crashkurs zu den Grundlagen des High Performance Computing durchgeführt. In der praktischen Erfahrung umfasst es das theoretische Wissen zu Parallel Computing, High Performance Computing, Supercomputern sowie der Entwicklung und Leistungsanalyse von parallelen Anwendungen. Praktische Demonstrationen sollen Sie ermutigen, das GWDG-Clustersystem zu nutzen, um bestehende parallele Anwendungen auszuführen, mit der Entwicklung eigener paralleler Anwendungen mit MPI und OpenMP zu beginnen und die Leistung dieser Anwendungen zu analysieren, um sicherzustellen, dass sie effizient laufen. In dieser Woche werden wir mit Gruppenarbeiten und kleinen Übungen das Training fördern. Wir werden damit beginnen, eine Lerngemeinschaft zu bilden, die sich in den zweiten Teil des Kurses einfügt.

Ausgestattet mit dieser Erfahrung werden Sie im zweiten Teil in Zweiergruppen ein nicht-triviales Problem Ihrer Wahl parallelisieren. Zuerst entscheiden Sie sich für ein Problem, das Sie gerne lösen möchten, erstellen dann eine sequentielle Lösung für dieses Problem und schließlich wenden Sie die Erfahrungen aus dem Blockkurs an, um die Skalierbarkeit der Anwendung zu parallelisieren und zu analysieren. Die Ergebnisse werden am Ende des Semesters in einer Präsentation mit den Peers geteilt und in einem Bericht dokumentiert – diese Komponenten werden bewertet und benotet.

Wenn Sie nur das parallele Programmieren lernen möchten und keine Credits benötigen, können Sie nur den ersten Teil des Kurses belegen und ein Zertifikat erwerben.

Dieser Kurs ist für Bachelor- und Masterstudierende geeignet und auch das Blockseminar ist für Teilnehmer der GWDG-Akademie geeignet. Unser Ziel ist es, für alle Teilnehmer geeignete Lerngruppen zu bilden.

Schlüsselinformation

| —|— Kontakt | Julian Kunkel Veranstaltungsort | virtuell (möglicherweise Hybrid) Zeit (Kurs) | Mo., 25. April 2022 - Fr., 29. April 2022 Zeit (Final) | tbd Sprache | Englisch Modul | M.Inf.1829: Praktikum High-Performance Computing,B.Inf.1835.Mp: Fachpraktikum Data Science II (klein), B.Inf.1834.Mp: Fachpraktikum Data Science I (klein) , B.Inf.1833.Mp: Fachpraktikum Data Science, B.Inf.1805.Mp: Fachpraktikum III, B.Inf.1804.Mp: Fachpraktikum II, B.Inf.1803.Mp: Fachpraktikum I SWS | 6 ECTS | 9 Präsenzzeit | 84 Stunden Selbstständiges Studium | 186 Stunden

Lernziele

Auf die Studierenden werden folgende Aufgaben warten:

  • Konstruieren Sie parallele Verarbeitungsschemata aus sequenziellem Code mit MPI und OpenMP
  • Begründen Sie die Leistungserwartungen für Code-Snippets
  • Skizzieren Sie ein typisches Cluster-System und die Ausführung einer Anwendung
  • Charakterisieren Sie die Skalierbarkeit einer parallelen Anwendung anhand beobachteter Leistungszahlen
  • Analysieren Sie die Leistung einer parallelen Anwendung mit Leistungsanalysetools
  • Beschreiben Sie die Entwicklungs- und Ausführungsmodelle von MPI und OpenMP
  • Erstellen Sie kleine parallele Anwendungen, die die Funktionen paralleler Anwendungen demonstrieren
  • Demonstrieren Sie die Verwendung eines HPC-Systems, um vorhandene Softwarepakete zu laden und parallele Anwendungen und Arbeitsabläufe auszuführen
  • Demonstration der Anwendung von Software-Engineering-Konzepten

Prüfung

Präsentation 15 min (pro Gruppenmitglied) und Bericht (max. 15 Seiten pro Gruppenmitglied). Die Note besteht aus 30 % Präsentation und 70 % Bericht.

Agenda

Block Seminar

Dieser Teil wird von BSc/MSc-Studierenden und Teilnehmern der GWDG-Akademie besucht

Montag

09:00 Begrüßung, Organisation des Workshops 18:00 Abschied

Dienstag

  • 2 Stunden Leistungsanalyse mit LIKWID (Jack Ogaja)

Mittwoch

Donnerstag

Freitag

  • Beschreibung der Gruppenzuordnung

Themen für die Agenda

  • Parallele Programmierung mit MPI
  • Parallele Programmierung mit OpenMP
  • Verwenden von SLURM zum Ausführen von Anwendungen auf dem Cluster
  • Parallelisierung mit Python (Hendrik Nolte)
  • Verwalten von Software mit Spack
  • Tools zur Leistungsanalyse
  • Leistungsmodellierung
  • Debuggen von parallelem Code mit GDB

Projektmeetings

Dieser Teil ist für BSc- und MSc-Studenten obligatorisch, um die Credits zu erhalten.

Registrierung

Anmeldeschluss ist der 10. April. Studierende, bitte melden Sie sich über StudIP an. Teilnehmer der GWDG Academy, bitte dort anmelden.

Projektthemen

Dies ist eine Themenliste für die einzelnen Projekte. Wir empfehlen Ihnen, ein eigenes Thema vorzuschlagen. Sie haben einen gewissen Spielraum, um das Thema in die Richtung Ihrer Wahl zu entwickeln.

Responsible

Portrait von Julian Kunkel Prof. Dr.Julian Kunkel

Assistant

%!s(<nil>) %!s(<nil>)