Nahezu jede HPC-Anwendung tauscht mittels MPI Daten zwischen den an der Lösung beteiligten Prozessen aus. Diese Kommunikation benötigt Zeit und muss somit bei der Performance Optimierung berücksichtigt werden. Insbesondere bei einer großen Anzahl von Cores nimmt die Kommunikation einen nicht vernachlässigbaren Anteil an der Laufzeit des Programms ein. Hinzu kommt, dass sich manche Probleme, wie beispielsweise Last-Imbalancen, auf die Kommunikationszeit auswirken, obwohl die Kommunikation an sich nicht ursächlich ist.
In diesem Teil des Moduls erläutern wir einige grundlegende Beiträge zur Kommunikationszeit, insbesondere Wartezeiten durch Last-Imbalancen, Wartezeiten durch Serialisierung in Kommunikationsmustern und die Zeit für die eigentlichen Datentransfers. Wir stellen Methoden vor, um die jeweiligen Anteile zu messen, und definieren damit ein System von Effizienzmetriken. Schliesslich erlernen Sie Techniken und Herangehensweisen, um die genannten Einflussfaktoren zu reduzieren, wie beispielsweise das Erstellen effizienter Kommunikationsmuster, die Verwendung kollektiver Operationen und das Überlappen von Kommunikation mit Berechnung während der Ausführung.
Flexible online course: Combination of self-study and live seminars (HLRS Supercomputing Academy) Organizer: HLRS, University of Stuttgart, Germany
Sep 16, 2024
Oct 18, 2024
Online (flexible)
German
Advanced
Performance Optimization & Debugging
Supercomputing Academy
Code Optimization
Back to list
Was ist Performance?
Skalierbarkeit
Performance Optimierung als iterativer Prozess
Performance Messmethoden
Einführung zur Anwendung 3DFD
Parallele Effizienz-Metriken
Anatomie der MPI Kommunikation
Asynchrone Kommunikation
Hybride MPI+OpenMP
Lastbalance
Aggregierung von Nachrichten
MPI Kommunikationspattern
Kollektive Operationen
Prozess Pinning und Mapping
45,00€ Student:innen ohne Masterabschluss (oder äquivalentem Abschluss)
105,00€ Mitarbeiter:in oder Doktorand:in an einer deutschen Universität oder einem deutschen öffentlichen Forschungsinstitut
210,00€ Mitarbeiter:in oder Doktorand:in an einer Universität oder einem öffentlichen Forschungsinstitut in einem anderen EU-, EU-assoziierten oder PRACE-Land als Deutschland
420,00€ Mitarbeiter:in oder Doktorand:in an einer Universität oder einem öffentlichen Forschungsinstitut außerhalb eines EU-, EU-assoziierten oder PRACE-Landes
1140,00€ Andere Teilnehmer:innen, z. B. aus der Industrie, von anderen öffentlichen Einrichtungen oder private Teilnahme
Link zu den EU und EU-assoziierten (Horizon Europe), und PRACE Ländern.
Die Kursteilnehmer besitzen erweiterte Grundkenntnisse des freien Betriebssystems Linux und Kenntnisse in Linux-Anwendung. Der Hintergrund von Linux sowie die wichtigsten Konzepte und Werkzeuge von Linux wie die
Shell und Shell-Befehle (→sicherer Umgang mit der Kommandozeile),
Secure Shell,
den Umgang mit Dateien und Skripten,
die Struktur des Systems,
die Benutzer- und Rechteverwaltung und
das Erstellen von einfache Batch-Skripten mit einem Editor wie nano, vi oder emacs.
sollten bekannt sein. Eine Anleitung zur Arbeit auf dem Trainingscluster wird zur Verfügung gestellt.
Falls Sie bei sich in dieser Hinsicht noch Defizite feststellen, verweisen wir an dieser Stelle auf https://www.tuxcademy.org/product/lxes/
Sie verfügen über solide Programmierkenntnisse in einer Programmiersprache (z.B. C, Fortran oder Python).
Sie können weitere Programmiersprachen und deren Konstrukte verstehen.
Sie sind in der Lage mit Compilern und Linker umzugehen.
Sie besitzen Kenntnisse über make-Files und können diese erstellen.
Ein sicherer Umgang mit einem Programm zur grafischen Darstellung von Messdaten und mathematischen Funktionen sowie der Umgang mit CSV-Dateien wird benötigt.
Die Teilnehmer verstehen wie die Hardware eines klassischen Computers aufgebaut ist. Das beinhaltet vor allem das grundlegende Verständnis von
Prozessoren (CPU),
Arbeitsspeichern (RAM-Speicher) und
Verbindung zwischen diesen beiden Komponenten,
Netzwerktechnik,
Festplatten und
Rechenbeschleuniger.
Modul Paralleles Programmieren mit MPI.
Rechner mit ssh-Zugang zum Trainingscluster (mit ssh-Key).
Ggf. muss Software installiert werden. Dafür notwendige Rechte müssen vorhanden sein.
Netzverbindungen nach außen zu fremden Clustern müssen aufgebaut werden können.
Eine stabile Internetverbindung für das Bearbeiten der Lerninhalte und Übungen wird empfohlen.
Zugang zu Videokonferenz-Tool mit Kamera und Mikrofon (ein Headset wird aus Qualitätsgründen empfohlen).
Der Zeitaufwand pro Modul beträgt insgesamt 40 Stunden bei wochenweise freier Zeiteinteilung sowie feste Termine für virtuelle Seminare (abends) und Prüfung (tagsüber). Die Dauer erstreckt sich über 4 Wochen mit einem ungefähren wöchentlichen Aufwand von 10 Stunden.
Sie lernen in komfortabler und effektiver Onlinelehre und erwerben so HPC-Fähigkeiten auf höchstem Niveau. Ergänzt werden die Online-Phasen durch regelmäßige Online-Meetings im virtuellen Klassenraum. Bei freier Zeiteinteilung wenden die Teilnehmerinnen und Teilnehmer das Gelernte in Übungen auf dem Trainingscluster an. Die Fachexperten des HLRS, welche die Lerneinheiten entwickelt haben, stehen in wöchentlichen virtuellen Seminaren für Fragen zur Verfügung. Ein Forum ermöglicht den fachlichen Austausch der Teilnehmerinnen und Teilnehmer untereinander.
Für die Teilnahme an dem Modul erhalten Sie vom Höchstleistungsrechenzentrum Stuttgart eine Teilnahmebestätigung. Wenn Sie zudem sämtlich Lerninhalte des Moduls bearbeitet, regelmäßig an den virtuellen Seminaren teilgenommen und die Lernaufgaben fachgerecht beantwortet haben, erhalten Sie eine qualifizierte Teilnahmebestätigung.
Sie erhalten ein Zertifikat, wenn Sie die Voraussetzungen für die qualifizierte Teilnahmebestätigung erfüllen und die Abschlussprüfung des Moduls bestehen. Mit der erfolgreichen Prüfung weisen Sie nach, dass Sie Kompetenzen erworben haben, das erlernte Wissen selbständig anzuwenden.
Tibor Doepper, phone 0711 685 87233, training(at)hlrs.de
Für weitere Informationen zur Supercomputing Akademie besuchen Sie unsere Website: https://www.supercomputing-akademie.de/
Weitere Kursangebote finden Sie auf Training Overview und Supercomputing Akademy Overview.
January 13 - 31, 2025
Hybrid Event - Stuttgart, Germany
March 24 - 28, 2025