Modul
Mehrdimensionale Signalverarbeitung und Bildauswertung mit Graphikkarten und anderen Mehrkernprozessoren [M-INFO-103154]
Leistungspunkte
3Turnus
Jedes WintersemesterDauer
1 SemesterSprache
DeutschLevel
4Version
1Verantwortung
Einrichtung
- KIT-Fakultät für Informatik
Bestandteil von
Teilleistungen
Identifier | Name | LP |
---|---|---|
T-INFO-106278 | Mehrdimensionale Signalverarbeitung und Bildauswertung mit Graphikkarten und anderen Mehrkernprozessoren | 3 |
Erfolgskontrolle(n)
Siehe Teilleistung.
Qualifikationsziele
Die Studierenden besitzen nach der Vorlesung eine grundlegende Übersicht über aktuelle parallele Rechnerarchitekturen, welche für die Lösung von Bildverarbeitungsproblemen eingesetzt werden können. Sie können Bildverarbeitungsalgorithmen analysieren, parallelisieren und mit Hinblick auf die Zielarchitektur optimieren. Eine Einführung in OpenCL versetzt sie in die Lage, Bildverarbeitungsalgorithmen auf Graphikkarten und Mehrkernprozessoren zu implementieren.
Voraussetzungen
Siehe Teillesitung.
Inhalt
Die Vorlesung gibt eine Übersicht über die verschiedenen Formen der Parallelität eines Algorithmus und die konkrete Realisierung auf Hardwarearchitekturen. Für die Programmierung von Multi-Core- und Many-Core-Prozessoren werden die notwendigen Grundlagen durch die Darlegung der unterliegenden Architekturen und der unterschiedlichen Programmiermodelle bereitgestellt. Um eine einheitliche Programmierung von Graphikkarten und Mehrkernprozessoren zu ermöglichen, nimmt die Vorstellung von OpenCL einen großen Raum ein. Nach einer Einführung in das Plattformmodell und die API, wird die OpenCL-C-Sprache vorgestellt. Für einen erfolgreichen Einsatz von OpenCL sind die Kenntnisse des unterliegenden Speichermodells unerlässlich. Anhand unterschiedlicher Bildverarbeitungsalgorithmen lernen die Studierenden anhand von Übungen innerhalb der Vorlesung die Programmierung der einzelnen Architekturen und deren unterschiedlichen Optimierungsstrategien kennen. Hierfür werden ihnen Graphikkarten und Xeon-Phi Beschleunigerkarten zur Verfügung gestellt.
Empfehlungen
Grundlegende Kenntnisse in den Bereichen der theoretischen Informatik (Algorithmen, Datenstrukturen) und der technischen Informatik (sequentielle Optimierung in C oder C++, Rechnerarchitekturen, parallele Programmierung) werden vorausgesetzt.
Arbeitsaufwand
Lehr- und Lernformen
Vorlesung mit integrierten Übungen