High Performance Computing
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.