Hauptinhalt
Dieser Eintrag ist aus dem Wintersemester 2022/23 und möglicherweise veraltet. Es konnte kein aktuelles Äquivalent gefunden werden.
CS 652 — Parallelverarbeitung
(engl. Parallel Computing)
Niveaustufe, Verpflichtungsgrad | Vertiefungsmodul, abhängig vom importierenden Studiengang |
Lehr- und Lernformen, Arbeitsaufwand |
Vorlesung (4 SWS), Übung (2 SWS), 270 Stunden (90 Std. Präsenzzeit, 180 Std. Selbststudium) |
Leistungspunkte, Voraussetzungen zum Erwerb |
9 LP Studienleistung(en): Erreichen von mindestens 50 Prozent der Punkte aus den wöchentlich zu bearbeitenden Übungsaufgaben und mündliche Präsentation der Lösung von mindestens zwei der Übungsaufgaben. Prüfungsleistung: Mündliche Prüfung oder Klausur |
Sprache, Benotung |
Deutsch,Die Benotung erfolgt mit 0 bis 15 Punkten gemäß der Prüfungsordnung für den Studiengang M.Sc. Data Science. |
Exportfach, Ursprung | Informatik, M.Sc. Data Science |
Dauer des Moduls, Häufigkeit |
Ein Semester, Regelmäßig alle 3 bis 4 Semester |
Modulverantwortliche(r) | Prof. Dr. Rita Loogen |
Inhalt
1. Einführung: Modelle/Begriffe der Parallelverarbeitung
2. Entwurf paralleler Programme
3. Speichergekoppelte Systeme: Das PRAM-Modell, PRAM-Algorithmen: Sortier-und Matrixalgorithmen, Thread-basierte Programmierung, Synchronisation und Kommunikation über gemeinsame Variablen (Semaphore, Monitore), Programmierung speichergekoppelter Multiprozessoren -> Der OpenMP-Standard
4. Nachrichtengekoppelte Systeme: Netzwerke, Verteilte Algorithmen, Programmierung nachrichtengekoppelter Multiprozessoren -> Die MPI-Bibliothek (Message-Passing-Interface)
5. Accelerator-basierte Systeme: GP-GPU-Programmierung mit CUDA
6. Alternative Ansätze
Qualifikationsziele
- Erlernen und Einordnung verschiedener paralleler Programmiermodelle,
- Gegenüberstellung verschiedener Verfahren zur parallelen Problemlösung,
- Erlernen von Techniken zur parallelen Programmierung,
- Erstellung von parallelen Programmen,
- Entwicklung und Analyse paralleler Algorithmen,
- Bewertung von parallelen Algorithmen und Programmen,
- Einüben wissenschaftlicher Arbeitsweisen (Erkennen, Formulieren, Lösen von Problemen, Schulung des Abstraktionsvermögens),
- Training der mündlichen Kommunikationsfähigkeit in den Übungen durch Einüben der freien Rede vor einem Publikum und bei der Diskussion.
Voraussetzungen
Keine. Empfohlen werden die Kompetenzen, die in dem Modul Objektorientierte Programmierung vermittelt werden.
Literatur
- A. Grama, A. Gupta, G. Karypis, V. Kumar: Introduction to Parallel Computing, Pearson Education, 2003.
- M. Quinn: Parallel Programming in C with MPI and OpenMP, Mc Graw Hill 2003
- I. Foster: Designing and Building Parallel Programs, Addison Wesley 1995
- A. Gibbons, W. Rytter: Efficient Parallel Algorithms, Cambridge University Press 1988
Bitte beachten Sie:
Diese Seite beschreibt ein Modul gemäß dem im Wintersemester 2022/23 aktuellsten gültigen Modulhandbuch. Die meisten für ein Modul gültigen Regeln werden nicht durch die Prüfungsordnung festgelegt, und können daher von Semester zu Semester aktualisiert werden. Folgende Versionen liegen im Online-Modulhandbuch vor:
- WiSe 2016/17
- SoSe 2018
- WiSe 2018/19
- WiSe 2019/20
- WiSe 2020/21
- SoSe 2021
- WiSe 2021/22
- WiSe 2022/23
- WiSe 2023/24 (kein Äquivalent)
Das Modulhandbuch enthält alle Module, unabhängig vom aktuellen Veranstaltungsangebot, vergleichen Sie dazu bitte das aktuelle Vorlesungsverzeichnis in Marvin.
Die Angaben im Online-Modulhandbuch wurden automatisch erstellt. Rechtsverbindlich sind die Angaben der Prüfungsordnung. Wenn Ihnen Unstimmigkeiten oder Fehler auffallen, sind wir für Hinweise dankbar.