| Veranstaltung | Tag | Zeit | Raum | Art | Dozent |
|---|---|---|---|---|---|
| Parallele Programmierung | Di | 15:30 - 17:00 | 1/208 | V | Prof. Dr. G. Rünger |
| Mi | 17:15 - 18:45 | 1/375 | Ü | Dr. M. Schwind | |
| Optimierung im Compilerbau | Di | 13:45 - 15:15 | 1/208 | V | Prof. Dr. G. Rünger |
| Mo | 15:30 - 17:00 | 1/208 | Ü | Dr. J. Dümmler | |
| Paralleles Wissenschaftliches Rechnen | Mi | 11:30 - 13:00 | 1/208 | V | Prof. Dr. G. Rünger |
| Fr | 13:45 - 15:15 | 1/208a | Ü | Dr. M. Schwind | |
| Proseminar Praktische Informatik | S | Prof. Dr. G. Rünger Dr. J. Dümmler |
|||
| Hauptseminar Praktische Informatik | Mi | 9:15 – 10:45 | 1/208 | S | Prof. Dr. G. Rünger Dr. J. Dümmler |
| Forschungspraktikum Parallele und Verteilte Systeme | P | Prof. Dr. G. Rünger Dr. M. Schwind |
Die Vorlesung behandelt Konzepte und Realisierung höherer Programmiersprachen, Syntaxbeschreibungen, Implementierungsaspekte sowie imperative, objektorientierte, funktionale und parallele Programmierkonzepte.
Die Vorlesung stellt Konzepte und Techniken des Compilerbaus vor, die für die Entwicklung eines Compilers notwendig sind. Dabei werden alle konzeptionellen Phasen eines Compilers von der lexikalischen Analyse bis hin zur Codegenerierung angesprochen. Darüber hinaus sollen Techniken zur effizienten automatisierten Analyse und Bearbeitung hierarchisch strukturierter Dokumente erlernt werden.
Die Vorlesung behandelt Programmiertechniken bzw. Programmiermodelle für Multicore-Prozessoren. Dies beinhaltet Techniken der Threadprogrammierung (z. B. Java-Threads, Intel Threading Building Blocks) und neuere Sprachansätze (z. B. OpenMP).
Die Vorlesung stellt verschiedene Ansätze der parallelen Programmierung anhand der Programmierumgebungen Pthreads, Java-Threads, OpenMP, MPI, PVM und UPC vor. Es wird in die zugrunde liegenden Programmiermodelle, parallelen Entwurfsmuster sowie Konzepte der Programmierumgebungen eingeführt. Die praktische Umsetzung paralleler Programme wird auf Plattformen wie großen Parallelrechnern, Multicore-Systemen, GPUs etc. vermittelt.
Die Vorlesung beschäftigt sich mit klassischen Optimierungsverfahren des Compilerbaus und mit Optimierungsverfahren für Speicherhierarchien oder Parallelrechner. Im Einzelnen werden die folgenden Themengebiete behandelt: Datenflussanalyse und optimierende Transformationen zur Verbesserung des Programmverhaltens; Datenabhängigkeitsanalysen zur Ausnutzung von mehreren Funktionseinheiten moderner Mikroprozessoren; Lokalitäts- und Parallelitätsanalyse von Programmen; Programmtransformationen zur Optimierung von Programmen für Rechner mit Speicherhierarchien.
Die Vorlesung „Paralleles Wissenschaftliches Rechnen“ befasst sich mit Anwendungen und Algorithmen des wissenschaftlichen Rechnens und deren effizienter Realisierung auf modernen Parallelrechnern. Vorgestellt werden einzelne Algorithmen der Numerik und spezielle Applikationen. Ebenso werden grundlegende Techniken zur Unterstützung der parallelen Programmierung besprochen. Hier sind etwa Partitionierungen, Lastbalancierungs- und Schedulingalgorithmen zu nennen.
Das Proseminar Parallele Programmierung behandelt grundlegende Themen zu parallelen Algorithmen und deren effizienter Umsetzung auf verschiedenen Parallelrechnerarchitekturen. Es wird im Sommer- und im Wintersemester angeboten.
Es findet in jedem Semester ein Haupt- und Forschungsseminar statt, im Wintersemester in der Regel zum Themenbereich Parallele und Multicore-Programmierung, im Sommersemester meist zum Themenkomplex Compilerbau.
Im Praktikum Parallele Programmierung werden ausgewählte Algorithmen und Anwendungen aus dem Bereich des wissenschaftlichen Rechnens auf modernen parallelen Systemen realisiert. Die Aufgaben umfassen Programmierung für gemeinsamen Speicher (z. B. mit OpenMP) oder für verteilten Speicher (z. B. mit MPI) sowie Programmierung für Grafikprozessoren (z. B. mit CUDA). Das Praktikum wird in jedem Semester angeboten.
Bachelor-, Master-, Studien- oder Diplomarbeiten werden jederzeit angeboten. Diese bieten die Möglichkeit, ein Thema aus dem Forschungsumfeld der Professur näher zu vertiefen. Eine (nicht abschließende) Liste von Themen findet sich unter: „Offene Themenstellungen“.