Hauptinhalt
Topinformationen
Bachelor- und Masterarbeiten im Bereich "Hardware-Software-Implementierungen mit FPGAs"
FPGAs (Field-Programmable Gate Arrays) kombinieren die Leistungsfähigkeit und Energieeffizienz anwendungsspezifischer Schaltungen mit der Flexibilität programmierbarer Architekturen. Sie sind daher ideale Plattformen für die Realisierung leistungsfähiger Informationsverarbeitung. Das Einsatzspektrum reicht dabei von kompakten eingebetteten Systemen bis hin zu Anwendungen im Bereich des Cloud- und High-Performance-Computing. Programmiert werden die FPGAs von uns abhängig von den Anforderungen in speziellen Hardware-Beschreibungssprachen (z. B. VHDL oder Chisel), in C oder C++ (unter Verwendung von High-Level-Synthese) oder – ähnlich wie GPUs – in OpenCL.
Vor diesem Hintergrund bietet die Arbeitsgruppe Technische Informatik Bachelor- und Masterarbeiten an, die von der Implementierung neuer Anwendungen auf FPGAs bis hin zur Veränderung von Hardware zur Laufzeit reichen. Einige Beispiele sind im Folgenden exemplarisch skizziert.
Aktuelle Themen für Bachelor- und Masterarbeiten
- Weiterentwicklung der EMAROs Miniroboterplattform (Bachelor- oder Masterarbeit)
- Entwicklung von Beispielanwendungen für die Roboterplattform EMAROs (Bachelorarbeit)
- Maschinelles Lernen auf eingebetteten FPGAs (Bachelor- oder Masterarbeit)
- Maschinelles Lernen auf FPGA-Beschleunigern im High-Performance-Computing (Bachelor- oder Masterarbeit)
- Dynamische Rekonfiguration von Videofiltern auf FPGAs (Masterarbeit)
- High-Performance-Computing mit FPGAs und OpenCL (Masterarbeit)
- FPGAs als Evaluierungsplattform für In-/Near-Memory-Computing (Bachelor- oder Masterarbeit)
Weiterentwicklung der EMAROs Miniroboterplattform (Bachelor- oder Masterarbeit)
Für die Evaluierung der in der Arbeitsgruppe entwickelten Konzepte und Methoden setzen wir unter anderem auf kleine mobile Roboterplattformen mit begrenztem Energiebudget. Zu diesem Zweck wurde in der Arbeitsgruppe die Roboterplattform EMAROs entwickelt, die eine Vielzahl von Sensoren und Aktoren vereint und sowohl CPU- als auch FPGA-Compute-Module unterstützt. Im Rahmen dieser Arbeit soll der EMAROs weiterentwickelt werden. Dies beinhalten unter anderem die Integration weiterer Sensoren und eines induktiven Ladesystems sowie eine Erweiterung zur Unterstützung neuer Compute-Module. Wird diese Arbeit als Masterarbeit durchgeführt, können beispielsweise zusätzlich Anwendungen auf Basis der integrierten FPGAs realisiert werden.
Ansprechpartner: Marco Tassemeier, Mario Porrmann
Entwicklung von Beispielanwendungen für die Roboterplattform EMAROs (Bachelorarbeit)
Die in der Arbeitsgruppe entwickelte Roboterplattform EMAROs bietet interessante Möglichkeiten zur Realisierung von Anwendungen und Demonstrationen, z. B. aus den Bereichen maschinelles Lernen oder Bildverarbeitung. Als Recheneinheit kann dafür beispielsweise eine CPU mit angeschlossenen ML-Beschleunigern oder auch ein SoC mit integriertem FPGA genutzt werden. Ziel dieser Arbeit ist die Entwicklung einer Anwendung zur Demonstration der Möglichkeiten von eingebetteten System auf mobile Roboter. Hierbei kann auf früheren Arbeiten in der Arbeitsgruppe aufgebaut werden und es können auch neue, eigene Ideen eingebracht werden.
Ansprechpartner: Marco Tassemeier, Mario Porrmann
Maschinelles Lernen auf eingebetteten FPGAs (Bachelor- oder Masterarbeit)
Machine-Learning-Algorithmen haben ein großes Potential im Bereich der Video- und Audioverarbeitung. FPGAs bietet eine interessante Möglichkeit, dieses Potential auch auf eingebetteten Systemen zu nutzen. Im Rahmen dieser Arbeit sollen verschiedene ML-Beschleuniger entwickelt werden, die auf embedded FPGAs genutzt werden können. Dabei soll vor allem die Beschleunigung von Machine-Learning-Algorithmen im Bereich der Video- und Audioverarbeitung betrachtet werde. Die Entwicklung erfolgt unter Einsatz aktueller Entwurfswerkzeuge auf Register-Transfer-Ebene oder in C/C++ mit anschließender High-Level-Synthese.
Ansprechpartner: Marco Tassemeier, Mario Porrmann
Maschinelles Lernen auf FPGA-Beschleunigern im High-Performance-Computing (Bachelor- oder Masterarbeit)
Um die Verarbeitung großer Datenmengen mittels Machine-Learning-Algorithmen zu beschleunigen, kommen auch im Bereich des High-Performance-Computing vermehrt FPGA-Beschleuniger zum Einsatz. Diese, oftmals als PCIe-Erweiterungskarten realisierten Architekturen bilden für massiv-parallele Berechnungen eine interessante Alternative zu GPUs. In dieser Arbeit sollen ML-Beschleuniger für FPGAs in Server-Anwendungen entwickelt werden, um Videoverarbeitung anwendungsspezifisch zu beschleunigen. Die Entwicklung erfolgt unter Einsatz aktueller Entwurfswerkzeuge in C/C++ oder OpenCL mit anschließender High-Level-Synthese.
Ansprechpartner: Marco Tassemeier, Mario Porrmann
Dynamische Rekonfiguration von Videofiltern auf FPGAs (Bachelor- oder Masterarbeit)
FPGAs bieten die Möglichkeit, Berechnungen massiv parallel auszuführen und sind gleichzeitig durch die mögliche Rekonfiguration sehr flexibel. Im Rahmen dieser Arbeit soll eine Plattform zur Videoverarbeitung auf FPGAs entwickelt werden. Dabei steht die Flexibilität der Implementierung im Vordergrund. Durch dynamische Rekonfiguration im laufenden Betrieb sollen Videofilter ausgetauscht oder die Ein- und Ausgabemethoden (z. B. Kamera, HDMI oder Datei) gewechselt werden. Die Entwicklung erfolgt unter Einsatz aktueller Entwurfswerkzeuge auf Register-Transfer-Ebene sowie in C/C++ mit anschließender High-Level-Synthese.
Ansprechpartner: Marco Tassemeier, Mario Porrmann
High-Performance-Computing mit FPGAs und OpenCL (Masterarbeit)
FPGAs bieten im Bereich des High-Performance-Computing (HPC) vielversprechende Möglichkeit zur Beschleunigung von parallelisierbaren Algorithmen. Problematisch wird gerade in diesem Umfeld die aufwändige Umsetzung neuer Algorithmen für diese Architekturen gesehen. Eine Alternative zur Programmierung in VHDL oder C/C++ stellt der Einsatz von OpenCL dar, einer auf C basierenden Programmiersprache, die auch für die Programmierung von GPUs zum Einsatz kommt. In dieser Arbeit soll die Programmierung von FPGAs mit OpenCL für HPC-relevante Anwendungen evaluiert werden. Zu diesem Zweck wird zunächst eine Bibliothek entwickelt, die verschiedene Templates für das High-Performance-Computing enthält. Anschließend wird die erzielte Leistungsfähigkeit mit Hilfe von Benchmarks auf aktuellen FPGA-Plattformen evaluiert und mit alternativen Implementierungen verglichen.
Ansprechpartner: Marco Tassemeier, Mario Porrmann
FPGAs als Evaluierungsplattform für In-/Near-Memory-Computing (Bachelor- oder Masterarbeit)
Mit der stetig wachsenden Anforderung, immer größere Datenmengen in immer kürzerer Zeit zu verarbeiten, erweist sich in vielen Fällen die Bandbreite zwischen Prozessor und Arbeitsspeicher als Flaschenhals, der die erzielbare Leistungsfähigkeit begrenzt. Neue Architekturkonzepte versuchen diesen Bottleneck zu überwinden, indem der Prozessor näher mit dem Arbeitsspeicher verknüpft oder sogar mit ihm verschmolzen wird. FPGA-Plattformen bieten aufgrund ihres internen verteilten Speichers die Möglichkeit, von diesen Konzepten zu profitieren bzw. neue Architekturkonzepte ohne teure Chip-Prototypen zu evaluieren. Im Rahmen dieser Arbeit soll eine Evaluierungs-Plattform für In-/Near-Memory-Computing auf FPGAs entwickelt werden. Als Prozessorplattform dient ein in VHDL beschriebener RISC-V Prozessor. Die Entwicklung erfolgt unter Einsatz aktueller Entwurfswerkzeuge auf Register-Transfer-Ebene oder in C/C++ mit anschließender High-Level-Synthese.
Ansprechpartner: Marco Tassemeier, Mario Porrmann