Software-Projektpraktikum

 

Parallelprogrammierung von Many-Core Architekturen mit OpenMP

Many-Core Prozessoren sind spezielle Mehrkernprozessoren die für einen besonders hohen Grad an Parallelität ausgelegt sind. Ihre potentiell hohe Rechenleistung - ermöglicht durch die große Anzahl der Rechenkerne - machen sie attraktiv für den Einsatz im Hochleistungsrechnen. Als Voraussetzung zum Abruf des Leistungspotentials werden parallele Programme mit guter Skalierbarkeit benötigt.

In diesem Software-Projektpraktikum arbeiten die Studierenden auf aktuellen Many-Core Systemen. Dazu parallelisieren sie kleine Programme mit dem Industriestandard OpenMP und entwickeln Optimierungsstrategien hinsichtlich ihrer Laufzeit. Am Ende präsentieren die Studierenden ihre Ergebnisse.

Ziele sind das Erlernen der Programmierung aktueller Many-Core Architekturen mit OpenMP. Außerdem wird ein Verständnis der speziellen Eigenschaften dieser Architekturen vermittelt indem mit Performanceanalysewerkzeugen und Hilfsmitteln wie der Performancemodellierung das Ausführungsverhalten von parallelen Programmen auf diesen Architekturen untersucht und bewertet wird.

Termine und Vorbereitung

Das Softwarepraktikum findet semesterbegleitend statt. Die zugehörigen Termine werden noch angekündigt. Die Teilnahme an den Terminen ist Pflicht.

Wir empfehlen die Programmierarbeiten an Ihrem eigenen Laptop zu machen, den Sie zu den Praktikumsterminen mitbringen. Alternativ stellen wir für die Praktikumstermine Laptops zur Verfügung, mit denen Sie sich auf die HPC-Systeme verbinden können.

Voraussetzungen

Programmierkenntnisse in C/C++ oder Java. Linux-Kenntnisse sind von Vorteil, aber nicht zwingend nötig. Die zur Verfügung gestellte Hardware wird unter Linux laufen. Es sind keine speziellen Vorkenntnisse in der Parallelprogrammierung nötig, da die benötigten Programmiermodelle und -konzepte im Rahmen des Praktikums vermittelt werden.