Transparent Compiler and Runtime Specializations for Accelerating Managed Languages on FPGAs
Michail Papadimitriou, Juan Fumero, Athanasios Stratikopoulos, Foivos, S. Zakkak, Christos Kotselidis

TL;DR
This paper introduces a novel approach for transparent, high-performance FPGA acceleration of Java programs through runtime code specialization, addressing the programmability gap in heterogeneous computing.
Contribution
It presents a new method for seamless FPGA integration into managed languages like Java using runtime specialization, reducing programming complexity and overhead.
Findings
Enables high-performance FPGA acceleration for Java via runtime specialization.
Reduces the need for hardware description language knowledge in FPGA programming.
Improves transparency and ease of use for heterogeneous computing in managed languages.
Abstract
In recent years, heterogeneous computing has emerged as the vital way to increase computers? performance and energy efficiency by combining diverse hardware devices, such as Graphics Processing Units (GPUs) and Field Programmable Gate Arrays (FPGAs). The rationale behind this trend is that different parts of an application can be offloaded from the main CPU to diverse devices, which can efficiently execute these parts as co-processors. FPGAs are a subset of the most widely used co-processors, typically used for accelerating specific workloads due to their flexible hardware and energy-efficient characteristics. These characteristics have made them prevalent in a broad spectrum of computing systems ranging from low-power embedded systems to high-end data centers and cloud infrastructures. However, these hardware characteristics come at the cost of programmability. Developers who create…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
