Please visit Jefferson Lab Event Policies and Guidance before planning your next event: https://www.jlab.org/conference_planning.

May 8 – 12, 2023
Norfolk Waterside Marriott
US/Eastern timezone

APEIRON: a Framework for High Level Programming of Dataflow Applications on Multi-FPGA Systems

May 11, 2023, 12:30 PM
15m
Marriott Ballroom VII (Norfolk Waterside Marriott)

Marriott Ballroom VII

Norfolk Waterside Marriott

235 East Main Street Norfolk, VA 23510

Speaker

Rossi, Cristian (INFN Roma1)

Description

High Energy Physics (HEP) Trigger and Data Acquisition systems (TDAQs) need ever increasing throughput and real-time data analytics capabilities either to improve particle identification accuracy and further suppress background events in trigger systems or to perform an efficient online data reduction for trigger-less ones.
As for the requirements imposed by HEP TDAQs applications in the class of real-time dataflow processing, FPGA devices are a good fit in as much they can provide not only adequate computing, memory and I/O resources but also a smooth programming experience thanks to the availability of High-Level Synthesis (HLS) tools.
The main motivation for the design and development of the APEIRON framework is that the currently available HLS tools do not natively support the deployment of applications over multiple FPGA devices, which severely chokes the scalability of problems that this approach could tackle. To overcome this limitation, we envisioned APEIRON as an extension of the Xilinx Vitis framework able to support a network of FPGA devices interconnected by a low-latency direct network as the reference execution platform.
Developers can define scalable applications, using a dataflow programming model inspired by Kahn Process Networks, that can be efficiently deployed on a multi-FPGAs system: the APEIRON communication IPs allow low-latency communication between processing tasks deployed on FPGAs, even if they are hosted on different computing nodes. Thanks to the use of HLS tools in the workflow, processing tasks are described in C++ as HLS kernels, while communication between tasks is expressed through a lightweight C++ API based on non-blocking send() and blocking receive() operations

Consider for long presentation Yes

Primary authors

Lonardo, alessandro (Istituto Nazionale di Fisica Nucleare, Sezione di Roma) Biagioni, Andrea (INFN Sez. Roma) Cretaro, Paolo (INFN Sez. Roma) Rossi, Cristian (INFN Roma1) Frezza, Ottorino Lo Cicero, Francesca Martinelli, Michele Simula, Francesco (INFN Sez. Roma) Turisini, Matteo (INFN Sez. Roma) Vicini, Piero (INFN Sez. Roma) Ammendola, Roberto (INFN Sez. Roma2)

Presentation materials

Peer reviewing

Paper