Skip to main content.

BMBF Projekt:

Exist Forschungstransfer: F-Technolgies:

Abgeschlossene Projekte:

7. Rahmenprogramm EU



Adaptive Rechensysteme und ihre Entwurfswerkzeuge

Adaptive Rechensysteme kombinieren konventionelle software-programmierbare Prozessoren mit anwendungsspezifischen Hardware-Beschleunigern, die mit Hilfe von rekonfigurierbaren Logikbausteinen für jedes Anwendungsprogramm passend synthetisiert werden. Die rechenintensiven Teile eines Programms werden dabei erkannt und auf maßgeschneiderte Beschleuniger ausgelagert, wodurch die Rechenleistung erhöht und Energie gespart werden kann.

Die Erforschung von Methoden und Werkzeugen, um aus nur einer Hochsprache heraus konventionelle Prozessoren zu programmieren und adaptierte Rechenbeschleuniger zu synthetisieren und zu betreiben, stellt sich daher als aktuelles Forschungsgebiet dar. Ziel ist ein praktisch verwendbarer Compiler, der die Sprache C nicht als Hilfsmittel für Hardware-Beschreibungen einsetzt, sondern die Semantik eines auch komplexeren C-Programmes mit verschachtelten Schleifen nach Analyse ihres Laufzeitverhaltens in eine feingranulare Hardware-Software-Anwendung aufteilt.

Im Vorgängerprojekt der Antragsteller wurde mit dem Compiler COMRADE ein Werkzeugfluss erarbeitet, der C-Programme automatisch auf beide Arten von Recheneinheiten aufteilt und entsprechende Rechenbeschleuniger erzeugt. In diesem Nachfolgeprojekt soll der Schwerpunkt nun auf der Optimierung der erzeugten Beschleuniger liegen.

Dabei sollen sowohl klassische Compiler-Optimierungsverfahren mit einer besonderen Eignung für die Generierung von Hardware-Beschleunigern untersucht werden als auch neue Techniken zum Einsatz kommen. Diese haben als Ziel eine Verbesserung des Grades an Parallelausführung auf Instruktionsebene sowie eine Erhöhung der Tiefe spekulativer Ausführung, die nur bei anwendungsspezifischen Hardware-Beschleunigern praktikabel ist.


Automatische Erzeugung von Hardware-Rechenbeschleunigern und Optimierung für Algorithmenbeschreibungen in geometrischer Algebra

Sehr viele Fragestellungen aus Naturwissenschaft und Technik haben einen geometrischen Hintergrund. Hat man eine geometrische Lösung eines Problems gefunden, muss man üblicherweise unterschiedlichste mathematische Vorgehensweisen zu Rate ziehen, um die einzelnen Schritte in mathematische Formeln zu fassen. Mit der geometrischen Algebra (GA) steht nun eine übergreifende Mathematik zur Verfügung, die es erlaubt, sehr direkt aus der geometrischen Anschauung heraus zu rechnen. So kann in geometrischer Algebra beispielsweise mit geometrischen Objekten wie Kugeln, Ebenen und Kreisen sowie mit geometrischen Operationen wie Schnitten von verschiedenen Objekten oder Transformationen sehr einfach gerechnet werden.

Allerdings ist die eigentliche Auswertung (also die Berechnung mit Hilfe der Basisoperationen) von durch geometrische Algebra beschriebenen Algorithmen sehr rechenaufwendig. Diese Eigenschaft hat in der Vergangenheit dazu geführt, dass die GA praktisch nicht einsetzbar war, da eine konventionelle Beschreibung zwar komplexer, aber schneller zu evaluieren war. Nachdem nun die Proof-of-Concept-Implementierung eines Hardware-Beschleunigers für einen speziellen GA-Algorithmus eine Geschwindigkeitssteigerung um den Faktor 185x gegenüber einem aktuellen konventionellen Prozessor ergeben hat, soll im Rahmen des beantragten Projekts eine weitergehende Verfeinerung der Vorgehensweise nun die automatische Erzeugung solch optimierter Recheneinheiten für beliebige GA-Algorithmen auf Basis rekonfigurierbarer Schaltungen (FPGAs) ermöglichen.