Full-Stack Approximierung auf rekonfigurierbaren Prozessoren

Full-Stack Approximierung auf rekonfigurierbaren Prozessoren

Umfeld:

Der Einsatz von approximativem Rechnen bietet sich an, wenn die Algorithmen auch bei nicht-exaktem Rechnen brauchbare Ergebnisse liefern – das ist z.B. bei vielen Algorithmen der Bildverarbeitung oder neuronalen Netzen der Fall. Zur Approximierung können verschiedene Ansätze gewählt werden – unter anderem: Rekursive Algorithmen können verfrüht abgebrochen werden, das Downsampling von Eingabedaten verringert die Datenmenge und approximiert rechnende Hardware verarbeitet diese Daten schneller. Es ist jedoch meist nicht klar, welche Methode unter welchen Umständen den größten Effekt hat.

Aufgabe:

Ziel dieser Arbeit ist die Analyse und Implementierung verschiedener Approximierungsmethoden auf unterschiedlichen Ebenen. Diese sollen simulativ oder auf einem Hardware-Prototypen (FPGA) getestet werden und auf ihre Effektivität sowie den Einfluss auf die Korrektheit der Ergebnisse getestet werden. Beispielhaft kann ein Algorithmus aus der Bildverarbeitung oder künstlicher Intelligenz verwendet werden.

Voraussetzungen:

  • Spaß an kombinierter Hard- und Softwareentwicklung (Kenntnisse in VHDL und C)
  • Interesse am Aufbau von Prozessor- und Beschleunigerdesigns
  • Motivation und Interesse am selbstständigen Lösen von technischen Problemen