libGalapagos: A Software Environment for Prototyping and Creating Heterogeneous FPGA and CPU Applications

Conference: FSP Workshop 2019 - Sixth International Workshop on FPGAs for Software Programmers
09/12/2019 at Barcelona, Spain

Proceedings: Sixth International Workshop on FPGAs for Software Programmers (FSP 2019)

Pages: 7Language: englishTyp: PDF

Personal VDE Members are entitled to a 10% discount on this title

Authors:
Tarafdar, Naif; Chow, Paul (Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario)

Abstract:
In this work we present libGalapagos, a software environment for multi-FPGA and CPU applications. This extends the Galapagos Hardware Stack, a hardware deployment stack for FPGAs and CPU clusters. Using Galapagos, a collection of streaming kernels can be deployed on any device withing a heterogeneous cluster and any kernel can communicate with any other kernel. Galapagos provides the network connectivity and address translations transparent to the user. LibGalapagos presents the software library that allows any kernels placed on a CPU to communicate to the rest of the cluster, with the focus on functional portability and heterogeneity. This allows the user to prototype the full heterogeneous cluster entirely within software first and incrementally migrate kernels from software to hardware, while always allowing software and hardware kernels to seamlessly communicate.