EN

Modul

Mehrdimensionale Signalverarbeitung und Bildauswertung mit Graphikkarten und anderen Mehrkernprozessoren [M-INFO-103154]

Leistungspunkte
3
Turnus
Jedes Wintersemester
Dauer
1 Semester
Sprache
Deutsch
Level
4
Version
1

Verantwortung

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

84 Stunden (= 28 Std * 3 LP)

Lehr- und Lernformen

Vorlesung mit integrierten Übungen