Zur Seitenansicht
 

Titelaufnahme

Titel
Rekonfigurierbare Beschleuniger in der Welt von allgemeinen Rechenaufgaben
AutorKenter, Tobias
BeteiligtePlessl, Christian In der Gemeinsamen Normdatei der DNB nachschlagen ; Cardoso, João M. P. In der Gemeinsamen Normdatei der DNB nachschlagen ; Platzner, Marco In der Gemeinsamen Normdatei der DNB nachschlagen ; Meyer auf der Heide, Friedhelm In der Gemeinsamen Normdatei der DNB nachschlagen ; Fischer, Matthias
ErschienenPaderborn, 2016
Ausgabe
Elektronische Ressource
Umfang1 Online-Ressource (xviii, 184 Seiten) : Diagramme
HochschulschriftFakultät für Elektrotechnik, Informatik und Mathematik der Universität Paderborn, Univ., Dissertation, 2016
Anmerkung
Tag der Verteidigung: 24.10.2016
Verteidigung2016-10-24
SpracheEnglisch ; Deutsch
DokumenttypDissertation
URNurn:nbn:de:hbz:466:2-27293 Persistent Identifier (URN)
Dateien
Reconfigurable accelerators in the world of general-purpose computing [4.8 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Die Architektur von FPGAs (Field Programmable Gate Arrays) kombiniert Programmierbarkeit mit einem hohen Potenzial zur Spezialisierung für verschiedene Rechenlasten. Wir analysieren in dieser Arbeit zunächst aktuelle Ansätze, die Produktivität bei der Entwicklung von FPGA-Anwendungen zu steigern, arbeiten konzeptuelle und praktische Vor- und Nachteile heraus, und identifizieren drei Säulen, die einander dabei ergänzen können, die Verwendung von FPGAs für allgemeine Rechenaufgaben voranzutreiben.Anschließend konzentrieren wir uns auf übergelagerte Architekturen als Ansatz für produktive Entwicklungsprozesse für FPGAs. Solche Architekturen bedingen aber auch bisher unzureichend verstandene Nachteile bei der resultierenden Rechenleistung. Unsere Arbeit quantifiziert für eine solche Architektur diese Nachteile anhand einer Auswahl unterschiedlicher Programmschleifen, die zu einer modernen Anwendung für stereoskopischen Bildabgleich gehören. Wir zeigen, dass die Architektur trotz dieser Nachteile als praktisch nutzbarer Beschleuniger dienen kann und identifizieren verschiede Unterschiede im Vergleich zu vollständig spezialisierten Konfigurationen. Darüber hinaus stellen wir Werkzeuge vor, die automatisch geeignete Schleifen aus Hochsprachenquelltexten oder Binärcode extrahieren und auf einem Vektorprozessor zur Ausführung bringen, der als übergelagerte Architektur auf FPGAs umgesetzt ist.Mit einem abstrakten Modell zur Abschätzung von Rechenleistung, das die gegenseitige Abhängigkeit zwischen Architekturen und Programmierentscheidungen berücksichtigt, erkunden wir schließlich systematisch Alternativen für Rechnersysteme, die Prozessoren und FPGAs enger koppeln als bisher. Insbesondere die Integration der Speicherhierarchie hat einen erheblichen Einfluss auf das Beschleunigungspotenzial des Systems.

Zusammenfassung (Englisch)

The architecture of field programmable gate arrays (FPGAs) combines programmability with a high potential for specialization for different workloads. In this work, by analyzing current approaches to tackle this productivity challenge along with their conceptual and practical trade-offs, we identify three pillars that can complement each other to jointly drive general-purpose adoption of FPGAs.Subsequently, we focus on overlay architectures as one of theses paths towards productive FPGA design processes. Such architectures also incur until now insufficiently understood overheads compared to custom designs implemented directly on FPGA resources. Our work quantifies such overheads with a diverse set of program loops from a state-of-the-art stereo-matching application for an instruction-programmable overlay. It demonstrates that the architecture can, despite overheads, serve as a practically usable accelerator, and identifies specific differences to fully customized FPGA designs. Additionally, we present a fast tool flow that automatically extracts suitable loops from a high-level source or binary code and offloads them to a vector coprocessor realized as an FPGA overlay.With a high-level performance estimation model that takes into account the interdependency of architectures and program designs, we furthermore explore the design space for systems coupling processors and FPGAs more closely as before. We highlight that integration of the memory hierarchy has considerable influence on the acceleration potential of the platform.