UA-RCL University of Arizona Reconfigurable Computing Lab

CEDR: A Holistic Software and Hardware Design Environment for Hardware Agnostic Application Development and Deployment on FPGA-Integrated Heterogeneous Systems

Overview: As the FPGAs are being embedded in all layers of computing infrastructure from edge to HPC scale, system designers continue to explore design methodologies that leverage increased levels of heterogeneity to push performance within the target performance goals or constraints. In line with this objective, we have developed CEDR, —an open-source, unified compilation, and runtime framework designed for FPGA-integrated heterogeneous systems, as part of the DARPA DSSoC program. Our framework empowers users to seamlessly develop, compile, and deploy applications on off-the-shelf heterogeneous computing platforms. Importantly, this framework is portable across a wide range of Linux-based systems, ensuring that effort to migrate across systems is minimal. This tutorial builds upon the educational class we conducted on the open-source CEDR framework during ESWEEK’23 and the CEDR tutorial we delivered in ISFPGA’24, with a particular focus on FPGA-integrated heterogeneous systems. Our aim is to engage participants with our framework through hands-on exercises, facilitate interaction with FPGA-based SoCs, and foster productive discussions around challenges in heterogeneous computing.

CEDR is currently being leveraged in basic research as part of the DARPA SpaceBACN and DARPA PROWESS programs. Its utility has been validated through a diverse set of real-world applications by General Dynamics, Collins Aerospace, and the Johns Hopkins Applied Physics Laboratory, alongside several academic collaborators. Additionally, it has undergone independent evaluation by the Carnegie Mellon University Software Engineering Institute, further affirming its effectiveness. With its easy-to-use Application Programming Interface (API)-based programming model, CEDR has extended support and compatibility across programming models (GNURadio, PyTorch) and architectures (RISC-V, GPU, and ARM-based SoCs), making it a highly versatile runtime for heterogeneous computing. In our previous tutorial at ISFPGA’24, participants gained hands-on experience with CEDR’s API-based programming model. They successfully implemented a basic application and analyzed performance variations under different workload scenarios and scheduling heuristics—all within three hours. For users to be able to replicate the entire tutorial independently, we provided resources and step-by-step instructions on our dedicated page: https://ua-rcl.github.io/presentations/fpga24/index.html

For the 2025 edition of this tutorial, our goal is to deliver a comprehensive learning experience that builds on the foundational CEDR knowledge shared last year. The tutorial will begin with a refresher on the basics of CEDR, followed by an in-depth, hands-on exploration of advanced topics. Participants will learn to integrate new accelerators and APIs into the runtime, as well as apply fine-grained performance monitoring and profiling techniques on FPGA-based heterogeneous platforms. This approach aims to reduce the knowledge barrier for attendees, enabling them to develop and optimize applications using CEDR across various application domains and hardware platforms. In the final segment of the tutorial, we will preview the latest advancements in CEDR and introduce its new features for the users.

Tutorial Structure and Flow

The tutorial is structured into two core exercises, each including a series of hands-on activities tailored to the needs of three distinct user types: naïve application developers, system designers, and resource management heuristic developers. Throughout these activities, the common thread is lifting the barriers to research and enabling productive application development and deployment on FPGA-integrated heterogeneous systems. The tutorial adopts a hands-on approach utilizing the Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit, enabling participants to gain practical experience on systems that amalgamate ARM CPU cores with FPGA accelerators.

Schedule (150 minutes):

Archival materials:

Hardware Images: Link for FPGA images used in this tutorial will be available here.

Step-by-step Tutorial: A self-paced, archival version of our tutorial workflow will be available here.