Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
102 tokens/sec
GPT-4o
59 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
50 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Python FPGA Programming with Data-Centric Multi-Level Design (2212.13768v1)

Published 28 Dec 2022 in cs.DC and cs.PL

Abstract: Although high-level synthesis (HLS) tools have significantly improved programmer productivity over hardware description languages, developing for FPGAs remains tedious and error prone. Programmers must learn and implement a large set of vendor-specific syntax, patterns, and tricks to optimize (or even successfully compile) their applications, while dealing with ever-changing toolflows from the FPGA vendors. We propose a new way to develop, optimize, and compile FPGA programs. The Data-Centric parallel programming (DaCe) framework allows applications to be defined by their dataflow and control flow through the Stateful DataFlow multiGraph (SDFG) representation, capturing the abstract program characteristics, and exposing a plethora of optimization opportunities. In this work, we show how extending SDFGs with multi-level Library Nodes incorporates both domain-specific and platform-specific optimizations into the design flow, enabling knowledge transfer across application domains and FPGA vendors. We present the HLS-based FPGA code generation backend of DaCe, and show how SDFGs are code generated for either FPGA vendor, emitting efficient HLS code that is structured and annotated to implement the desired architecture.

User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (8)
  1. Johannes de Fine Licht (17 papers)
  2. Tiziano De Matteis (13 papers)
  3. Tal Ben-Nun (53 papers)
  4. Andreas Kuster (3 papers)
  5. Oliver Rausch (9 papers)
  6. Manuel Burger (9 papers)
  7. Carl-Johannes Johnsen (3 papers)
  8. Torsten Hoefler (203 papers)