GPU-Computing und Bildverarbeitung
Grundlagen zur Entwicklung optimierter paralleler Algorithmen
Im theoretischen Abschnitt des Kurses lernt ihr die Grundlagen für die Entwicklung und Implementierung eigener Algorithmen für die parallelen Verarbeitung. Anschließend werden Möglichkeiten zur hardwarespezifischen Optimierung sowie auch Grenzen der GPU-Programmierung aufgezeigt.
Kennenlernen verschiedener Systeme und Programmierschnittstellen
Als Entwicklungsplatformen kommen normale PCs aber auch der Jetson Nano als Einplatinencomputer zum Einsatz. Vertieft behandelt werden die Programmierschnittstellen OpenCL und Cuda zur GPU-Programmierung. Für die Entwicklung der Nutzerprogramme kommen je nach Platform hauptsächlich C, C#, C++ und Python zum Einsatz.
Bildverarbeitung
Einen weiteren Baustein bildet die Bildverarbeitung. Neben der Einführung in die Bildverarbeitung mit der OpenCV-Bibliothek werden auch mathematische Grundlagen und Hintergründe einzelner Bildalgorithmen behandelt. Auch erhaltet ihr die Möglichkeit der Bilderfassung zur Verarbeitung von Kamerabildern. Abgerundet wird die Bildverarbeitung durch eine Einführung in die Welt der KI-Systeme.