Wintersemester 2025/2026

Die gesamte Organisation der Lehrveranstaltungen erfolgt über die Lernplattform Moodle. Wenn Sie an einer der u.a. Veranstaltungen teilnehmen möchten, melden Sie sich bitte in dem entsprechenden Moodlekurs an.

Die Veranstaltung beginnt mit einer Einführung zu Gegenstand, Anwendungsgebieten und Grundbegriffen des parallelen Rechnens. Wir behandeln Entwurfstechniken für parallele Algorithmen (z.B. paralleles Divide-and-Conquer) sowie allgemeine Anforderungen an den Entwurf effizienter Programme (z.B. Cacheoptimierung).

Anhand von drei exemplarischen Programmiersystemen werden dann im Hauptteil Grundkenntnisse zur parallelen Programmierung vermittelt:

- OpenMP für Rechner mit gemeinsamem Speicher,
- OpenMP Offloading für GPUs und
- MPI für Rechner mit verteiltem Speicher.

In die Veranstaltung sind zwei Praktikumsabschnitte integriert, in denen die Teilnehmer in Zweierteams Programmieraufgaben lösen. Die Ergebnisse werden anschließend in Prüfungsgesprächen vorgestellt und bilden die Basis für die Bewertung der Veranstaltung.

 

Dozent:in
Dr. Jonas Posner  Prof. Dr. Claudia Fohry
M.Sc. Rüdiger Nather

 

Weitere Informationen, einschließlich der Vorlesungstermine, finden Sie im Vorlesungsverzeichnis und im Moodlekurs

Sollten Sie noch Fragen haben, geben Ihnen Herr Dr. Jonas Posner  Prof. Dr. Claudia Fohry und Herr M.Sc. Rüdiger Nather gern Auskunft.

Die Veranstaltung behandelt eine Auswahl paralleler Algorithmen für verschiedene Probleme und Architekturklassen. Dabei werden Techniken für den Entwurf und die Analyse paralleler Algorithmen vermittelt und geübt. Zunächst lernen wir zwei Modelle für Rechner mit gemeinsamem Speicher kennen und diskutieren ihre Vor- und Nachteile: die Parallel Random Access Machine (PRAM) und das Binary Forking Modell (BF). Danach werden anhand einfacher Problemstellungen (z.B. konvexe Hülle, Maximumberechnung) grundlegende Entwurfstechniken vermittelt.

Der zweite Teil konzentriert sich auf Cluster und Algorithmen, die sich mittels MPI, bzw. knotenintern OpenMP, umsetzen lassen.  Je nach Vorkenntnissen und Interesse der Teilnehmer ist neben der Analyse auch die Umsetzung Bestandteil der Veranstaltung. Die behandelten Algorithmen reichen von regulären Algorithmen für Matrixberechnungen über parallele Optimierungsverfahren bis zu parallelen Graphalgorithmen. Abschließend werden eventuell noch Algorithmen für spezielle Szenarien angesprochen: fehlertolerante parallele Algorithmen sowie effiziente Algorithmen für Speicherhierarchien.

Die Stoffvermittlung erfolgt in Vorlesungen mit integrierten Übungen und Diskussionen. Eine aktive Beteiligung wird erwartet.  Die Notenvergabe erfolgt auf Basis einer Projektarbeit mit abschließendem Prüfungsgespräch. Schwerpunkt des Projekts ist die eigene Entwicklung effizienter Algorithmen. Diese sollen außerdem bezüglich ihrer Laufzeit analysiert sowie, bei entsprechenden Vorkenntnissen der Teilnehmer, implementiert und experimentell bewertet werden.  Die Veranstaltung ergänzt die Veranstaltungen "Einführung in die Parallelverarbeitung" (Bachelor) und "Parallele Programmierung" (Master), kann aber auch ohne Vorkenntnisse in paralleler Programmierung belegt werden.
 

Dozent:in
Prof. Dr. Claudia Fohry
 

Weitere Informationen, einschließlich der Vorlesungstermine, finden Sie im Vorlesungsverzeichnis und im Moodlekurs und im Vorlesungsverzeichnis.

Sollten Sie Fragen haben, gibt Ihnen Frau Prof. Dr. Claudia Fohry gern Auskunft.

In der Veranstaltung erlernen die Studierenden die funktionale Programmierung am Beispiel der Sprache Haskell. Die behandelten Sprachkonstrukte reichen von Basics wie Funktionen und Listen über Datentypen und Auswertungsstrategien bis zu fortgeschrittenen Aspekten wie Monaden und Parallelisierung. Die Konstrukte werden jeweils erklärt und ihr Einsatz diskutiert. Neben Haskell wird ein kurzer Einblick in weitere funktionale Sprachen gegeben.

Die Veranstaltung wird in Form einer Vorlesung mit integrierten Übungen durchgeführt. In den ersten Wochen sind zusätzlich Hausaufgaben verpflichtend zu bearbeiten. Die Notenvergabe erfolgt auf Basis einer Projektarbeit, welche in Zweierteams in den letzten Wochen durchgeführt wird. Die Projektarbeit wird durch eine Verteidigung abgeschlossen, bei der die entwickelten Programme vorgestellt und weitere Themen der Vorlesung angesprochen werden.
 

Dozent:in
Prof. Dr. Claudia Fohry
M.Sc. Rüdiger Nather

 

Weitere Informationen, einschließlich der Vorlesungstermine, finden Sie im Vorlesungsverzeichnis und im Moodlekurs.

Sollten Sie Fragen haben, geben Ihnen Frau Prof. Dr. Claudia Fohry und Herr M.Sc. Rüdiger Nather gern Auskunft.