Modul
Praxis der Multikern-Programmierung: Werkzeuge, Modelle, Sprachen [M-INFO-100985]
Leistungspunkte
6Turnus
Jedes WintersemesterDauer
1 SemesterSprache
DeutschLevel
4Version
1Verantwortung
Einrichtung
- KIT-Fakultät für Informatik
Bestandteil von
Teilleistungen
Identifier | Name | LP |
---|---|---|
T-INFO-101565 | Praxis der Multikern-Programmierung: Werkzeuge, Modelle, Sprachen | 6 |
Erfolgskontrolle(n)
Siehe Teilleistung.
Qualifikationsziele
Die Teilnehmer beherrschen theoretische Grundlagen der Parallelprogrammierung, sie kennen die Konzepte von Sperren, Barrieren und gemeinsamem Speicher und können diese Konzepte zum Entwurf
paralleler Algorithmen anwenden. Sie beherrschen die Bedienung von unterstützenden Werkzeugen wie Profilern und Debuggern und können damit die Implementierungen paralleler Programme bewerten.
Insbesondere kennen die Teilnehmer die Konzepte diverser paralleler Programmierumgebungen wie z.B. Java, pthreads, OpenMP und OpenCL und sind in der Lage, mittels dieser komplexe parallele Programme zu entwerfen und zu implementieren. Weiterhin können sie alternative Programmierparadigmen wie beispielsweise nicht-blockierende Synchronisation, nachrichtenbasierte Koordination (z.B. Google Go) und heterogene Programmierung (OpenACC) erläutern.
Die Studierenden sind in der Lage, parallele Programme zu analysieren und dabei Optimierungspotenzial und Programmierfehler aufzudecken und zu verbessern. Sie können parallele Algorithmen bewerten und vergleichen sowie neue entwickeln.
Studierende sind in der Lage, sequentieller Software auf Parallelisierungspotenzial hin zu untersuchen und sie mit unterschiedlichen Technologien in ein paralleles Programm zu überführen. Dazu können sie die Stärken und Schwächen unterschiedlicher paralleler Hard- und Software-Plattformen bewerten und Aussagen über ihre Eignung für das gegebene Problem treffen.
Weiterhin haben die Teilnehmer demonstriert, dass sie fähig sind, sich in große, reale Projekte einzuarbeiten. Sie sind geübt in Teamarbeit, strukturierter Formulierung, Präsentation und schriftlicher
Ausarbeitung ihrer Ergebnisse.
Voraussetzungen
Siehe Teilleistung.
Inhalt
Multikern-Prozessoren mit mehreren Rechenkernen auf einem Chip werden zum üblichen Standard. Diese Vorlesung fokussiert auf die Vermittlung praktischer Fähigkeiten der Softwareentwicklung für parallele Systeme. Ausgewählte Prinzipien aus den Bereichen Programmiermodelle und -Sprachen, Entwurfsmuster sowie Fehlerfindung werden exemplarisch und ausführlich diskutiert. Das vermittelte Wissen wird anhand von praktischen Übungen und Fallstudien intensiv vertieft.
Arbeitsaufwand
Vorlesung mit 4SWS und praktischem Programmierprojekt, 6 LP.
6 LP entspricht ca. 180 Arbeitsstunden, davon
ca. 60 Std. Präsenz
ca. 10 Std. Bearbeitung Übungsaufgaben
ca. 5 Std. Präsentationsvorbereitung
ca. 10 Std. Schriftliche Ausarbeitung
ca. 95 Std. Bearbeitung Programmierprojekt