Skip to main content

Modulbeschreibung - High Performance Computing

Nummer
hpc
ECTS 4.0
Spezifizierung Verstehen der verschiedenen Beschleunigungs- und Ausführungsmöglichkeiten im HPC Umfeld
Anspruchsniveau Advanced
Inhalt Die Skalierung von Applikationen soll auf verschiedenen Ebenen möglichst generisch garantiert werden. Die Skalierung geht von der Auslastung eines einzelnen Computersystems zur Auslastung eines High Performance Computing Centers. Um alle verfügbaren Ressourcen maximal auszulasten, werden auch Rechenbeschleuniger wie GPUs eingesetzt. Abstraktionen der Hardware, der Parallelisierung der Berechnungen, sowie der Kommunikation zwischen Systemen erlaubt die Ausführung auf unterschiedlichen Infrastrukturen. Die Spezialisierung der Berechnung auf spezifische Hardware, wie die GPU-Programmierung, ermöglicht hingegen die maximale Performance mit abnehmender Portabilität.
Lernergebnisse Containers
Die Grundlagen von Container-Systemen sind bekannt. Applikationen können in verschiedenen – auf HPC optimierten - Containerformaten ausgeführt und gewartet werden. Mittels interaktiven Containers wird die Rechenleistung eines HPC Clusters durch der Verwendung von Data Science Tools effektiv genutzt.

Shared-memory Systeme
Ein Überblick der shared-memory Systeme und Frameworks (beispielsweise OpenMP) ist bekannt. Die gängigsten Parallelisierungsparadigmen können durch die beispielhafte Verwendung dieser Frameworks umgesetzt werden. Verfügbare Ressourcen eines shared-memory Systems werden dadurch maximal ausgenutzt.

Distributed-memory Systeme
Die verschiedenen Message-Passing Kommunikationspatterns sind bekannt. Diese können in beispielhaften Anwendungen angewendet und ausgeführt werden. Mittels Message-Passing werden mehrere unabhängige Rechensressourcen miteinander verbunden, um so ein Problem parallel zu lösen. Die korrekte Verwendung der verschiedenen Patterns garantiert einen effizienten Nachrichtenaustausch der Systeme.

Hybrid Programmierung auf GPU / CPU
Die grundlegende Funktionsweise verschiedener Rechenbeschleuniger im HPC Umfeld sind bekannt. Die grundlegende Verwendung von geeigneten Frameworks garantiert alle Ressourcen von hybriden CPU/GPU Systemen effizient auszunutzen. Die am meist gebrauchten Beschleunigungspatterns sind bekannt und können an Beispielen ausgeführt werden.

GPU Programmierung
Die mehrschichtige parallele Architektur von modernen GPUs wird verstanden. Algorithmen können an das parallele Ausführungsmodell, sofern möglich, angepasst werden. Verschiedene Möglichkeiten um den Datentransfer-Overhead zu minimieren, respektive zu verstecken, können an einfachen Beispielen angewendet werden.
Modulbewertung Note
Baut auf folgenden Modulen auf Grundkompetenz Programmieren
Modultyp Portfoliomodul
Diese Seite teilen: