Portable Compilation of NumPy to FPGAs
TimeMonday, 15 November 20214:30pm - 5pm CST
DescriptionWhile the reconfigurable hardware community has transitioned from RTL to C-based languages, the HPC community is moving on to Python as the language of choice for application development. We show how the Data-Centric Parallel Programming (DaCe) framework is a powerful tool to pursue this trend for FPGA development, allowing NumPy-based Python programs to be compiled to both Xilinx and Intel FPGAs through a data movement-oriented intermediate representation with no changes to the original program, providing a high quality baseline amenable to further optimization. We present results for all 30 kernels from the PolyBench benchmark suite for both FPGA vendors compiled from the same Python code, preserving high-level semantics to embed specialized hardware implementations in the code-generated architectures.