Optimierung und Parallelisierung eines Algorithmus zur Tiefenschätzung auf eine massiv parallele Vektor-Prozessorplattform
Betreuung: | Nolting, Stephan; Payá Vayá, Guillermo |
Student/in: | Lennart Henze |
Jahr: | 2018 |
Datum: | 19-02-18 |
Laufzeit: | 19.10.2017-19.02.2018 |
Ist abgeschlossen: | ja |
Im Automobilbereich und im Kontext der Fahrerassistenzsysteme werden Architekturen für komplexe Berechnungen eingesetzt. Diese unterliegen harten Echtzeitanforderungen und müssen mit geringen Energiebudgets arbeiten können. Zur Situationsnalyse des Fahrzeuges sind unter anderem Information über andere Verkehrsteilnehmer erforderlich. Mit Hilfe eines Stereokamerasystems und einer geeigneten Verarbeitung können aus den unterschiedlichen Bildern Tiefeninformationen berechnet werden, welche Auskunft über die Entfernung der Objekte vor dem Fahrzeug geben. Der Semi-Global-Matching-Algorithmus (SGM) bietet hier eine mögliche Implementierungsform.
Die massive Anzahl an erforderlichen Operationen stellt hohe Anforderungen an die eingesetzte Rechnerarchitektur. Neben niedriger Latenz spielt hierbei aber auch eine geringe Verlustleistung eine wichtige Rolle. Standardarchitekturen wie general purpose CPUs oder GPUs stellen hier eher unpassende Lösungen dar, da sie entweder nicht die erforderlichen Rechenleistungen erbringen oder aber eine zu hohe Leistungsaufnahme haben. Eine speziell für diesen Bereich der massiv-parallelen Fahrerassistenzanwendungen entwickelte Prozessorarchitektur stellt der VPRO Vektorprozessor dar
Im Rahmen dieser Arbeit soll ein der in Plain-C vorliegende SGM-Algorithmus auf die VPRO Architektur abgebildet und durch die massiv-paralleln Funktionseinheiten beschleunigt werden. Dabei sollen die einzelnen Besonderheiten der Architektur ausgenutzt werden um maximalen Durchsatz zu gewähren. Weitere dedizierte Hardwaremechanismen zur Leistungssteigerung sollen ebenfalls untersucht und ggf. implementiert und evaluiert werden.
Für diese Arbeit sollten folgende Voraussetzungen erfüllt sein:
-
Gute Kenntnisse in hardwarenaher C-Programmierung
-
Kenntnisse von Konzepten der parallelen Verarbeitung (SIMD)
-
Allgemeine Kenntnisse von Prozessorarchitekturen und Assemblerkenntnisse sind hilfreich
Die Arbeit kann in deutscher oder englischer Sprache verfasst werden.