I725 – Parallele Algorithmierung

Modul
Parallele Algorithmierung
Parallel Programming
Modulnummer
I725 [I-725]
Version: 2
Fakultät
Informatik/Mathematik
Niveau
Master
Dauer
1 Semester
Turnus
Sommer- und Wintersemester
Modulverantwortliche/-r

Prof. Dr.-Ing. habil. Peter Sobe
peter.sobe(at)htw-dresden.de

Dozent/-in(nen)

Prof. Dr.-Ing. habil. Peter Sobe
peter.sobe(at)htw-dresden.de

Lehrsprache(n)

Deutsch - 80.00%
in "Parallele Algorithmierung"

Englisch - 20.00%
in "Parallele Algorithmierung"

ECTS-Credits

5.00 Credits

Workload

150 Stunden

Lehrveranstaltungen

4.00 SWS (2.00 SWS Vorlesung | 2.00 SWS Praktikum)

Selbststudienzeit

90.00 Stunden

Prüfungsvorleistung(en)
Keine
Prüfungsleistung(en)

Schriftliche Prüfungsleistung
Prüfungsdauer: 120 min | Wichtung: 100%
in "Parallele Algorithmierung"

Lehrform

2/0/2  V/Ü/P

Medienform
Keine Angabe
Lehrinhalte/Gliederung
  • Einführung in die Parallelverarbeitung: Ziele, Grenzen, Bezug zu Algorithmen, Quantifizierung des Gewinns durch Parallelverarbeitung
  • Modelle der Parallelverarbeitung
  • Hardware-Architekturen und Konzepte der parallelen Programmierung
  • Multithreading und Programmierung mit OpenMP
  • Multiprocessing und Programmierung mit MPI (Message Passing Interface)
  • Parallelisierung von Algorithmen, Verfahren zur Rechenlastverteilung
  • Fortgeschrittene Aspekte: I/O, Leistungsbewertung, Zuverlässigkeit
  • Exkurse: GPU-Programmierung, weitere Programmiersprachen und Spracherweiterungen für die Parallelverarbeitung
  • Introduction to parallel computing: goals and limitations, algorithmic aspects, measures
  • Models of parallel processing
  • Hardware architectures and concepts of parallel programming
  • Multithreading and OpenMP programming
  • Multiprocessing and MPI (Message Passing Interface)
  • Algorithms and parallelisation, computational load distribution
  • Advanced topics: I/O, performance measurement and evaluation, dependability techniques
  • Excursus: GPU programming, other programming languages and language extensions for parallelism
Qualifikationsziele

Die Studenten lernen die parallele Programmierung und die Erstellung effizienter Algorithmen zur parallelen Verarbeitung großer Datenmengen auf verschiedenen Prozessorkernen. Sie lernen Konzepte moderner asynchroner Methoden in .NET zu nutzen und können gegebene Algorithmen in OpenMP, sowie MPI parallelisieren. Sie kennen theoretische Schwierigkeiten des Multithreading (Race-Conditions, Deadlock, Synchronisation) und haben die Fähigkeit diese zu meistern. Sie sind in der Lage die Leistung paralleler Algorithmen zu bewerten und können effiziente parallele Programme schreiben sowohl für einfache Desktop-Rechner als auch für Supercomputer.

Sozial- und Selbstkompetenzen
Keine Angabe
Besondere Zulassungsvoraussetzung
Keine Angabe
Empfohlene Voraussetzungen

Programmierung II (I-121)

Kenntnisse in imperativer und objektorientierter Programmierung, vorzugsweise in C/C++

Fortsetzungsmöglichkeiten
Keine Angabe
Literatur
  • S. Hoffmann; OpenMP; Springer, 2009
  • W.D. Gropp; MPI - eine Einführung; Oldenbourg Verlag, 2007
  • T. Rauber, G. Rünger; Parallele Programmierung; Springer Viehweg, 2012
  • T. Ungerer; Parallelrechner und parallele Programmierung, Spektrum Akademischer Verlag, Heidelberg, Berlin 1997

 

Aktuelle Lehrressourcen

Skript zur Lehrveranstaltung

Hinweise
Keine Angabe