TY - THES A1 - Muñoz Hernandez, Hector Gerardo T1 - Enhancing single-instruction multiple-threads FPGA-based processors with high-bandwidth-memory T1 - Verbesserung von Single-Instruction Multiple-Threads FPGA-basierten Prozessoren mit High-Bandwidth-Memory N2 - The gap between memory bandwidth and processing power has been expanding continuously. Not long ago, some memory technology initiatives have been proposed in order to bridge this disparity. One of the most promising solutions comes in the form of 3D stacked memories like High-Bandwidth Memory (HBM). By adding several and wider memory channels that can do memory transactions in parallel, these memories increase significantly the data throughput and aim to close the aforementioned gap. A popular way to prototype and test these memories is to integrate them with Field Programmable Gate Arrays (FPGAs) due to their high reconfigurability. Graphic Processing Units (GPUs) are another inherently parallel targeted hardware, and so some advances in integrating GPUs with HBM are already present in the industry. This new technology integration brings a paradigm shift because in order to fully take advantage of the parallel nature of HBM, the hardware design has to also support this highly parallel data throughput. While GPUs provide high data processing parallelism, FPGAs are known for their flexibility. Intellectual Property (IP) blocks are an example of this flexibility, because they are a bundle of Hardware Description Language (HDL) code which can be included in an existing implementation of an FPGA, adding functionality to it. Soft-IP-cores implemented on reconfigurable hardware, are a solution that offers advantages from both worlds, where a soft-GPU could be hosted in an FPGA. There is, however, a gap in knowledge on how 3D stacked memories support soft-GPU-cores. This thesis analyses this gap and provides insights into how HBM memories can be exploited in soft-GPU-cores. To accomplish such an endeavor, this thesis presents, evaluates, and analyzes a complete open-source environment that consists of a soft-GPU with HBM compatibility. The contributions are composed of several different tools ranging from the model simulator, to easy-to-use implementation flow on real hardware. The environment also includes a roofline model which is used to analyze how applications from different domains behave and can be optimized in the custom hardware. N2 - Die Lücke zwischen Speicherbandbreite und Verarbeitungsleistung hat sich kontinuierlich vergrößert. Vor nicht allzu langer Zeit wurden einige Speichertechnologie-Initiativen vorgeschlagen, um diese Diskrepanz zu überbrücken. Eine der vielversprechendsten Lösungen sind 3D-gestapelte Speicher wie High Bandwidth Memory (HBM). Durch das Hinzufügen mehrerer und breiterer Speicherkanäle, die Speichertransaktionen parallel durchführen können, erhöhen diese Speicher den Datendurchsatz erheblich und zielen darauf ab, die vorgenannte Lücke zu schließen. Ein beliebter Weg, um diese Speicher als Prototypen zu entwickeln und zu testen, ist ihre Integration in Field Programmable Gate Arrays (FPGAs) aufgrund ihrer hohen Rekonfigurierbarkeit. Graphical Processing Units (GPUs) sind eine weitere, von Natur aus parallel ausgerichtete Hardware, und so gibt es in der Industrie bereits einige Fortschritte bei der Integration von GPUs mit HBM. Diese neue Technologieintegration bringt einen Paradigmenwechsel mit sich, denn um die Vorteile der Parallelität von HBM voll auszuschöpfen, muss auch das Hardwaredesign diesen hochparallelen Datendurchsatz unterstützen. Während GPUs eine hohe Datenverarbeitungsparallelität bieten, sind FPGAs für ihre Flexibilität bekannt. Intellectual Property (IP)-Blöcke sind ein Beispiel für diese Flexibilität, denn sie sind ein Bündel von Hardware Description Language (HDL)-Code, der in eine bestehende Implementierung eines FPGA eingefügt werden kann, um dessen Funktionalität zu erweitern. Soft-IP-Cores, die auf rekonfigurierbarer Hardware implementiert sind, stellen eine Lösung dar, die Vorteile aus beiden Welten bietet, wobei eine Soft-GPU in einem FPGA untergebracht werden könnte. Es gibt jedoch eine Wissenslücke darüber, wie 3D-gestapelte Speicher Soft-GPU-Kerne unterstützen. Die vorliegende Arbeit analysiert diese Lücke und gibt Einblicke, wie HBM-Speicher in Soft-GPU-Kernen genutzt werden können. Um ein solches Vorhaben zu erreichen, wird in dieser Arbeit eine vollständige Open-Source-Umgebung vorgestellt, bewertet und analysiert, die aus einer Soft-GPU mit HBM-Kompatibilität besteht. Die Beiträge setzen sich aus mehreren verschiedenen Tools zusammen, die vom Modellsimulator bis zum einfach zu verwendenden Implementierungsfluss auf echter Hardware reichen. Die Umgebung umfasst auch ein Roofline-Modell, mit dem analysiert wird, wie sich Anwendungen aus verschiedenen Bereichen in der benutzerdefinierten Hardware verhalten und optimiert werden können. KW - Field programmable gate array KW - Soft-core KW - High-bandwidth-memory KW - RISC-V KW - Embedded systems KW - FPGA KW - HBM KW - Eingebettete Systeme Y1 - 2025 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:co1-opus4-71301 ER - TY - THES A1 - Werner, André T1 - Anwendungsorientierte FPGA Architekturen : Virtual Coarse Grained Reconfigurable Array für die Berechnung arithmetischer Operation T1 - Application-oriented FPGA architectures : Virtual Coarse Grained Reconfigurable Array for calculating arithmetic operation N2 - Sowohl in Anlagen mit Hochgeschwindigkeitsrechensystemen als auch in der Industrie in so genannten smarten Problemlösungen spielen Rechenbeschleuniger eine immer bedeutendere Rolle. Diese wissenschaftliche Arbeit befasst mich mit der Untersuchung anwendungsorientierter FPGA-Architekturen, um die Lücke zwischen Performanz und Energieverbrauch zu verkleinern oder gar zu schließen. Sie untersucht zunächst die optimale Granularität einer Architektur für einen Algorithmus. Anhand der Auswertung einer umfangreichen Versuchsreihe mit ca. 650 Simulationen und etwa 200 verschiedenen Architekturen wird versucht einen FPGA mit optimalen Eigenschaften für eine Beschleunigerhardware abzuleiten. Für die Untersuchung wird das Evaluationswerkzeugs Verilog-To-Routing genutzt, dessen Steuerung nebst dem Parsen der Ergebnisse mittels Python automatisiert wird. Basierend auf den Ergebnissen dieser Granularitätsuntersuchung wird die Einführung einer parameterisierbaren CGRA-Architektur beschrieben, welche als Overlay auf einer beliebigen FPGA-Architektur aufgebracht werden kann. Die ersten Ergebnisse einer Evaluation mit einem Faltungsalgorithmus weisen auf Probleme beim Datentransfer zwischen einem Prozessorsystem und dem VCGRA als Beschleuniger hin, weshalb in zusätzliche Module für eine Entspannung dieses Flaschenhalses investiert wird. Aus Überlegungen entstehen so genannte Pre-Fetcher und Datenpuffer, eine Memory Management Unit und eine zentrale Steuerstelle, die Central Control Unit, welche das VCGRA zu einer Gesamtarchitektur ergänzen. Die Entwicklungsschritte und Evaluation dieser zusätzlichen Module erfolgt nun in SystemC, statt in VHDL, um den Zyklus von Design und Evaluation zu verkürzen. Im Zusammenhang mit der Central Control Unit wird ein Maschinencode im Binärformat und ein passender Assemblerbefehlssatz entworfen, um das VCGRA autark zu steuern. Alle Werkzeuge und die Architektur stehen unter Open-Source- Lizenzen der wissenschaftlichen Community zur Verfügung. N2 - Both in plants with high-speed computing systems and in industry in so-called smart problem solutions, computing accelerators play an increasingly important role. This scientific work deals with the investigation of application-oriented FPGA architectures in order to reduce or even close the gap between performance and energy consumption. It first investigates the optimal granularity of an architecture for an algorithm. Based on the evaluation of an extensive series of experiments with about 650 simulations and about 200 different architectures, an attempt is made to derive an FPGA with optimal characteristics for an accelerator hardware. For the investigation the evaluation tool Verilog-To-Routing is used, whose control is automated by means of Python in addition to the parsing of the results. Based on the results of this granularity investigation, the introduction of a parameterizable CGRA architecture is described, which can be applied as an overlay on any FPGA architecture. The first results of an evaluation with a convolutional algorithm indicate problems with the data transfer between a processor system and the VCGRA as accelerator, which is why investments are made in additional modules to relax this bottleneck. Considerations result in so-called pre-fetcher and data buffers, a memory management unit and a central control unit, which complement the VCGRA to form an overall architecture. The development steps and evaluation of these additional modules are now done in SystemC, instead of VHDL, to shorten the cycle of design and evaluation. In conjunction with the central control unit, machine code in binary format and a matching assembly instruction set will be designed to control the VCGRA autonomously. All tools and the architecture are available under open source licenses to the scientific community. KW - FPGA KW - SystemC KW - CGRA KW - Overlay Architektur KW - Beschleuniger KW - Accelerator KW - Overlay architecture KW - VCGRA KW - Field programmable gate array KW - Overlay-Netz KW - SystemC Y1 - 2022 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:co1-opus4-62484 ER -